oracle awr报告生成_oracle11g awr报告分析—WORKLOAD REPOSITORY report

概述

关于生产环境的一份awr报告分析,之前闲着无聊整理了100页,后面拆分下各个模块介绍下怎么看awr报告。

我们在看性能指标的时候,需要知道数据库出现性能问题,一般都在三个地方,io,内存,cpu,这三个又是息息相关的,当io负载增大时,肯定需要更多的内存来存放,同时也需要cpu花费更多的时间来过滤这些数据,相反,cpu时间花费多的话,有可能是解析sql语句,也可能是过滤太多的数据,到不一定是和io或内存有关系了 。

1. cpu:解析sql语句,尝试多个执行计划,最后生成一个数据库认为是比较好的执行计划,不一定是最优的,因为关联表太多的时候,数据库并不会穷举所有的执行计划,这会消耗太多的时间,oracle怎么就知道这条数据时你要,另一个就不是你要的呢,这是需要cpu来过滤的

2. 内存:sql语句和执行计划都需要在内存保留一段时间,还有取到的数据,根据lru算法也会尽量在内存中保留,在执行sql语句过程中,各种表之间的连接,排序等操作也要占用内存

3. io:如果需要的数据在内存中没有,则需要到磁盘中去取,就会用到物理io了,还有表之间的连接数据太多,以及排序等操作内存放不下的时候,也需要用到临时表空间,也就用到物理io了 。

下面先对awr报告的WORKLOAD REPOSITORY report 部分介绍。


44e4ae717f67ee285eec0c72237b64c4.png

DB Time不包括Oracle后台进程消耗的时间。如果DB Time远远小于Elapsed时间,说明数据库比较空闲。

db time= cpu time + wait time(不包含空闲等待) (非后台进程)

说白了就是db time就是记录的服务器花在数据库运算(非后台进程)和等待(非空闲等待)上的时间

DB time = cpu time + all of nonidle wait event time

在60分钟里(其间收集了1次快照数据),数据库耗时6253分钟,RDA数据中显示系统有240个逻辑CPU(16个物理CPU,每个8核),平均每个CPU耗时6253/240=26分钟,CPU利用率只有大约43.4%(26/60)。说明系统有一定压力。

在snapshot间隔中,总共约60分钟,240核cpu就共有240*60=14400分钟,DBtime 为6253分钟,则cpu花费了6253分钟在处理Oralce非空闲等待和运算上(比方逻辑读)

也就是说cpu有 6253/14400*100%=43.4% 花费在处理Oracle的操作上,这还不包括后台进程


总结:通过awr report的Elapsed time和DB Time就能大概了解db的负载,从而对数据库的性能有个整体把握,后面会分享更多awr报告的内容,关于awr如何导出在前面文章已经介绍过了,这里就不介绍了。

后面会分享更多DBA方面的内容,感兴趣的朋友可以关注下~

c2c985616e0400619547c1b74e376813.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值