【Oracle学习与开发基本概念汇总】教程文章相关的互联网学习教程文章

Oracle 学习之性能优化(四)收集统计信息【代码】

使用analyze命令可以收集统计信息,如:收集或删除对象的统计信息验证对象的结构确定table 或cluster的migrated 和chained rows。示例:SQL> create user anal identified by anal ;User created.SQL> grant resource,connect to anal;Grant succeeded.SQL> grant select any dictionary to anal;Grant succeeded.SQL> conn anal/anal Connected. SQL> create table t1 as select * from dba_objects; SQL> create table t2 as sel...

Oracle 学习之性能优化(五)执行计划【代码】

三、SQL_TRACE SQL_TRACE是Oracle的一个非常强大的工具。打开SQL_TRACE就可以逐步捕获任何一个会话的数据库活动,或者捕获整个数据库的活动,并将数据库活动记录成跟踪文件。每次使用完之后需要关闭跟踪,否则会降低系统的性能。跟踪整个数据库实例。 只需要简单的修改参数文件(pfile/spfile)参数 SQL_TRACE = TRUE ,在全局启用SQL_TRACE会导致所有进程的活动被跟踪,包括后台进程及所有用户进程,这样也会数据库导致性能下降比较...

Oracle 学习之性能优化(八)优化器【代码】【图】

RULE 采用基于CBO的优化法则。Oracle 11g的版本只有中间三个参数有效,并且不推荐使用FIRST_ROWS .我们看看优化器对查询的影响SQL> alter system set optimizer_mode=all_rows;System altered.SQL> conn scott/tiger Connected. SQL> set autot traceonly exp SQL> select * from emp,dept where emp.deptno=dept.deptno;Execution Plan ---------------------------------------------------------- Plan hash value: 844388907--...

Oracle 学习之性能优化(七)join的实现方式【代码】【图】

Hash Join适合处理大型结果集,优化器选择两个表或者源数据中比较小的,使用join key在内存中建立一个hash table。然后扫描大表,并探查hash表,去发现匹配的记录。 小表称为驱动表,大表称为探查表当hash table能全部放到内存中,此种情况最好。如果内存中放不下hash table,优化器将hash table分区,超出内存范围的分区将被写到临时表空间中。我们分两种情况讨论hash join的实现hash table 全部在内存里 hash table是Oracle根据...

Oracle 学习之性能优化(六)访问路径【代码】【图】

访问路径是指Oracle找到用户需要的数据的方法,这些方法很少,包括:声名狼藉的全表扫描--人们不惜一切视图避免的(曲解的)访问路径。各种类型的索引扫描--这是人们感觉良好的访问路径(多数情况下是被曲解的)。通过hash或者rowid的方式直接访问,通常对于单数据行来说,是最快的。 并没有一种访问路径是最好的,如果有,那么Oracle只需提供这一种访问路径就好了。全表扫描 全扫描就是顺序的读取表中的所有数据块。采用多块读的...

Oracle 学习之性能优化(九)使用hint【代码】

基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从 而使语句高效的运行。例如,如果我们认为对于一个特定的语句,执行全表扫描要比执行索引扫描更有效,则我们就可以指示优化器使用全表扫描。在Oracle 中,是通过为...

Oracle 学习之SQL(一) 使用SELECT检索数据【代码】【图】

SELECT能干什么?Projection:查询表中指定列。Selection:查询表中指定行。Join:表与表之间做连接,要查看的数据放在多张表中,并且表与表之间的数据有关系。SELECT 语句的基本语法:SELECT 关键字后指定需要显示的列。FROM 关键字后面指定包含这些列的表。为了演示SELECT命令,我们需要使用sqlplus登录到数据库。切换到Oracle用户,用如下命令解锁scott用户并将密码设置成tiger[root@11gdg1 ~]# su - oracle 11gdg1-> sqlplus ...

Oracle 学习之 11g Clone 安装【代码】

如果你需要安装的数据库服务器比较多,使用图形化方式安装数据库软件的速度还是很慢,而且也比较麻烦。Oracle 11g 提供了Clone安装的方法。步骤如下:使用正常方法在服务器A上安装好Oracle。将A机器上的$ORACLE_HOME打包,db_home1.zip 。将B机器的环境准备好,如建立用户、建立用户、修改内核参数,修改环境变量等等。将zip包copy到B服务器,解压到任意目录。执行Clone命令A机器上打包[root@localhost oracle]# zip -r db_1.zip /...

Oracle 学习之卸载Oracle 11g【代码】

./runInstaller -silent -responseFile /home/oracle/etc/install_software_only.rsp3. 使用专用工具 Oracle官方推荐使用专门的删除工具。原因是内置的deinstall工具脚本中常常带有很多bug,很多时候不能完全的将其删除干净。特别是Windows环境下的卸载工具,不能正常工作的场景很多。上传工具包至服务器,直接解压,解压完毕后即可直接使用。[oracle@localhost ~]$ unzip p13390677_112040_Linux-x86-64_7of7.zip[oracle@localh...

Oracle 学习之 性能优化(十三) 索引【代码】【图】

一、索引概念 索引是一种供服务器在表中快速查找一个行的数据库结构。合理使用索引能够大大提高数据库的运行效率。在数据库中建立索引主要有以下作用。  (1)快速存取数据。  (2)既可以改善数据库性能,又可以保证列值的唯一性。  (3)实现表与表之间的参照完整性  (4)在使用order by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间。在关系数据库中,每一行都由一个行唯一标识RowID。RowID包括...

Oracle 学习之 数据仓库(二) Dimension 的理解【代码】【图】

维度表是维度属性的集合。是分析问题的一个窗口。是人们观察数据的特定角度,是考虑问题时的一类属性,属性的集合构成一个维。 如图示 我们以sh用户下的sales表和times表来看,SALES为事实表SQL> desc sales Name Null? Type ----------------------------------------- -------- ---------------------------- PROD_ID NOT NULL NUMBER CUST_ID NOT NULL NUMBER TIME_ID NOT NULL DATE CHANN...

Oracle 学习之数据仓库(一)导入Oracle 11g Global samples schema【代码】

Oracle 11g 提供了数据仓库的示例schema,可以通过如下链接下载示例安装文件。http://www.oracle.com/technology/products/bi/olap/doc_sample_schemas/global_11g_schema.zip将下载的文件上传至Oracle服务器,并解压。[oracle@localhost ~]$ mkdir global_11g_schema [oracle@localhost ~]$ unzip -d global_11g_schema global_11g_schema.zip Archive: global_11g_schema.zip inflating: global_11g_schema/global_11g_...

Oracle 学习笔记 18 -- 存储函数和存储过程(PL/SQL子程序)

子程序通常完成特定的功能PL/SQL座。,能够被不同的应用程序多次调用。Oracle提供能够把PL/SQL程序存储在数据库中,并能够再不论什么地方来执行它。这样就叫做存储过程或者是函数。过程和函数的唯一差别就是函数总是向调用者返回数据。而过程则不返回数据。 函数假设用户要常常运行某些操作,而且须要返回特定的数据。那么就能够将这些操作构造成一个函数。 能够使用SQL语句定义函数。基本的语法:create or replace function fun_...

Oracle学习第一天---安装和基础入门【代码】【图】

;   三.删除用户(必须具有dba权限的用户才能执行该功能)drop user user_name;  如果要被删除的用户下面存在对象(创建过表),则要带上cascade参数进行删除,否则会报错,删除失败drop user user_name cascade;四.用户权限Oracle中的权限分为系统权限和对象权限两种,系统权限:用户对数据库进行访问的权限;对象权限:用户之间进行数据对象操作的权限;   系统权限只能由DBA用户(系统最高权限拥有者,最开始只有sys,syst...

Oracle学习第二天---Profile的使用【代码】【图】

select on temp to usertest with grant option;  2.如果传递的是系统权限,则加入with admin option;eg:system用户将connect角色传递给usertest用户:grant connect to usertest with admin option;二.Profile使用详解1.目的:Oracle数据库系统中的Profile可以用来对用户所能使用的数据库资源进行限制,使用create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用。如果将Profile分配给用户,则该用户所能使用的...