淘先锋技术网

首页 1 2 3 4 5 6 7

Segment Statistics关于段统计,包括Segments by Logical Reads、Segments by Ph。ysical Reads、Segments by Physical Read Requests、Segments by UnOptimized Reads、Segments by Optimized Reads、Segments by Direct Physical Reads、Segments by Physical Writes、Segments by Physical Write Requests、Segments by Direct Physical Writes、Segments by Table Scans、Segments by DB Blocks Changes、Segments by Row Lock Waits、Segments by ITL Waits、Segments by Buffer Busy Waits。

段统计可以解决的问题:

第一:查找出耗费逻辑读、物理I/O就多的对象,如表;

第二:没有被使用过的对象,如索引;

第三:那个对象被修改得最频繁,如表;

第四:到查询为止,有一个对象有多少的物理读和逻辑读;

第五:哪个对象的数据行被争用最多,如表;

第六:哪个对象的缓冲区数据块等待次数最多;

9c8aeee1852d3472db088a5fffef2b19.png

按逻辑读排序的段统计,可以找到一些热点表和热点索引

owner : 数据段的所有者

Tablespace Name: 数据段所在表空间名

Object Name : 对象名

Subobject Name:子对象名,例如一个分区表的某个分区

obj Type:  对象类型 一般为TABLE /INDEX 或者分区或子分区

Logical Reads :该数据段上发生过的逻辑读 , 单位为 块数*次数

%Total : 占总的逻辑读的百分比 ,  (当前对象上发生过的逻辑读/ Total DB 逻辑读)

如果比例很高,可以通过这些热对象从sql列表中排查一下,到底是哪些sql语句和这个热对象相关。可能sql语句单独执行很快,多个并发的进程时速度就会受到影响了

42ec440984144a53dc0a8bf2ee9b0579.png

按逻辑读排序的段统计,Segments by Physical Reads是物理读统计排序的热点段,通过是由于full table scans或index fast full scans导致的

25bc6989e69f0796a8e01b60e8e09725.png

Segments by Physical Read Requests,不详,但请求物理读不大,且和Segments by Physical Reads高度重合,以解决Segments by Physical Reads为主。

d00867b8a0d93f767244d78ecf972e85.png

Segments by UNOptimized Requests,不详,但请求物理读不大,且和Segments by Physical Reads高度重合,以解决Segments by Physical Reads为主。

90af0a105ba4b94bc2afca22dc10596b.png

Segments by Optimized Requests,不详,但请求物理读不大,且和Segments by Physical Reads高度重合,以解决Segments by Physical Reads为主。

f2263c047338f292953b20965535d15e.png

Segments by Direct Physical Reads,direct path read较高的可能原因有:

1. 大量的磁盘排序操作,order by, group by, union, distinct, rollup, 无法在PGA中完成排序,需要利用temp表空间进行排序。当从临时表空间中读取排序结果时,会产生direct path read.

2. 大量的Hash Join操作,利用temp表空间保存hash区。

3. SQL语句的并行处理

4. 大表的全表扫描,在中,全表扫描的算法有新的变化,根据表的大小、高速缓存的大小等信息,决定是否绕过SGA直接从磁盘读Oracle11g取数据。

e82d22ff9810046cb5c57a2f9b6f25f1.png

Segment By Physical Writes,因为写入量不大,且比较均衡,可以暂时忽略。

6cba1f6e7cf72952260cdce5d86f1698.png

Segment By Physical Write Requests和Segment By Direct Physical Writes,也可以暂时忽略

5a81f348b5370a15d978500f0462a81e.png

Segments by Table Scans可以反映出一段时间以来表扫描的总次数,基本上都是同一批表。重点需要优化。

0ff50b8624f18313ffd8fac5e648ca53.png

Segments by DB Blocks Change,数据块变化的多寡,两个临时表空间,一般是排序或临时表操作,另外还有一张表也是重点跟踪的。

f85d25967f25d22bbba311cfe24ec5d8.png

Segments by Row Lock Waits重点关注那些索引导致了行锁等待。

Segments by Row Lock Waits

f4967a6214d894d5aea0d6200e3118dc.png

Segments by Buffer Busy Waits,buffer busy,还不如说是热块争用,该表显然是热点表,更大的可能是全表扫描。

4fa5dc0330ae494fc6620bf9e5acb6f3.png