前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个Oracle小白的AWR报告分析(九)

一个Oracle小白的AWR报告分析(九)

作者头像
python与大数据分析
发布2022-03-11 16:14:25
1.2K0
发布2022-03-11 16:14:25
举报
文章被收录于专栏:python与大数据分析

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就多的对象,如表;

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

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

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

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

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

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

owner : 数据段的所有者

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

Object Name : 对象名

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

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

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

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

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

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

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

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

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

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取数据。

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

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

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

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

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

Segments by Row Lock Waits

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python与大数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档