甲骨文中分析命令的详细介绍

介绍

这篇文章主要讲解了“甲骨文中分析命令的详细介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“甲骨文中分析命令的详细介绍”吧!

使用DBMS_STATS收集统计信息参考:

Oracle数据统计信息小结http://blog.csdn.net/tianlesoftware/article/details/4668723

甲骨文判断并手动收集统计信息脚本http://blog.csdn.net/tianlesoftware/article/details/6445868

一.Purpose

使用,ANALYZE 声明tocollect统计数据,例如:

——使用分析命令可以收集统计信息,如:

(1)收集ordelete统计信息索引或索引分区,表或表分区,index-organized表,集群或标量对象属性。

,收集或删除对象的统计信息

(2)验证索引或索引分区组成,表或表分区,index-organizedtable,集群或对象引用(REF)。

——验证对象的结构

(3) Identifymigrated和链表行或集群。

——确定表或集群的迁移和链接行。

征收的统计,使用,DBMS_STATS 包,这省下并行收集统计信息,收集全球partitionedobjects统计,在其他方面,调整你的统计信息收集。

——在大多数情况下,使用DBMS_STATS包来收集统计信息。

Usethe  ANALYZE 声明(而than  DBMS_STATS) statisticscollection不相关的基于成本的优化器:

,在如下两种情况下,使用分析命令要比DBMS_STATS包好:

(1) Usethe  VALIDATE 或是LIST  CHAINED  ROWS 条款

(2)用于alt=凹坠俏闹蟹治雒畹南晗附樯?>

详细语法如下:

,,分析表tablenameCOMPUTE | |删除统计估计ptnOption选择

,,分析指数indexnameCOMPUTE | |删除统计估计ptnOption选择

,,分析集群clusternameCOMPUTE | |删除统计估计选择

ptnOption

,,分区(分区)

,,SUBPARTITION (SUBPARTITION)

选项,,验证结构(级联)(在表名)

,,列表链接行[INTOtablename]

,,计算|估计STATISTICSFOR表

,,计算|估计STATISTICSFOR所有列

,,计算|估计STATISTICSFOR所有索引列

,,计算|估计STATISTICSFOR列(大小int)列(大小int)

,,在估计统计时你可以选择

,,,指定

,,,…估计STATISTICSSAMPLE n行

,,,…估计STATISTICSSAMPLE n %

四。语义

4.1模式指定theschema包含表,索引,或集群。如果你omit 模式,假设thenOracle数据库表,索引,或集群是在您自己的模式。

4.2 TABLE 表

指定tableto进行分析。当你分析表,数据库收集statisticsabout表达式出现在任何基于函数的索引。因此,一定要创建基于函数的索引alt=凹坠俏闹蟹治雒畹南晗附樯?>

行迁移:

, 凹坠俏闹蟹治雒畹南晗附樯?

当行ischained或迁移,增加检索数据所需的I/O只形势结果,因为Oracle数据库必须扫描多个块取回那个信息行。

,,,,,当产生大量的链接或者迁移时,对会对I/O产生影响。访问这些数据的速度就会开始变慢,因为额外的I/O以及与I/O相关的闩定都会增加访问时间,缓冲区缓存的效率开始下降,因为需要缓存两个块,而如果没有行迁移只需要缓存一个块。另外表的大小和复杂性都有所增加。

通过调整PCTFREE参数,可以有效避免链化现象。根据段空间管理方法的不同,相关的参数也不一样,默认表空间使用,,Locallymanaged表空间,其又分utomatic段空间管理(ASSM),和手动段空间管理(MSSM)。这部分内容参考:

甲骨文自动段空间管理(ASSM: autosegment空间管理)http://blog.csdn.net/tianlesoftware/article/details/4958989

默认情况下行迁移是禁止的,可以通过如下SQL验证:

SYS@anqing1 (rac1)比;选择d。row_movement得到;dba_tables d table_name=& # 39; tt # 39;;

ROW_MOVE

- - - - - - - - - -

禁用启用行迁移:

完成alter table table_name使行运动;

必须在启用行迁移的情况下才能使用Shrink 和FlashbackTable,这部分具体参考:

Oracle 10 g缩小表详解http://blog.csdn.net/tianlesoftware/article/details/4764254

甲骨文倒叙技术总结http://blog.csdn.net/tianlesoftware/article/details/4677378

既然链接行对性能影响很大,我们就需要监控它。这个就是我们的分析的作用所在。但是收集到有链接的行需要保存到一个表里。等我们分析完之后查看这个表就知道有多少链接的数据了。

,,,,,而且在我们执行分析命令之前,必须先创建这个表,否则就会报的错。我们可以使用$ ORACLE_HOME/rdbms/admin/utlchain。sql来创建这个表:

甲骨文中分析命令的详细介绍