首页 > 其他 > 详细

关于AWR报告的解析

时间:2015-11-14 23:33:19      阅读:371      评论:0      收藏:0      [点我收藏+]

其实,网上关于AWR的解析已经足够多了。但总觉得通过收集资料,再加工写出来的资料能便于自己理解其中的各项内容,因此我对AWR进行一篇详尽的解析。希望能分几次完成

技术分享

从AWR报告的第一部分包含了数据库的名称、数据库的ID号、实例名、实例数、启动的时间、数据库版本和是否为RAC。此外也包含了系统的部分信息。

该部分最关键的内容是第三个模块,里面记录了snapshot的开始时间和结束时间,以及数据库运行时间和用户级别调用(session)所消耗的时间。

DB CPU:Amount of CPU time (in microseconds) spent on database user-level calls. This does not include the CPU time spent on instance background processes such as PMON.

 

这里就涉及一个问题,通过数据库用户调用的时间可以算出数据库繁忙的程度。首先来看看Elapsed Time为1664.70 mins 折算成秒为

Elasped Time=(1664*60+.7*60)/3600 hours

看下snapshot begin to end 时间为27 hours 44 mins 42 sec 刚好就是Elasped Time的时间。

 

系统有32个CPUs,因为并行作业的缘故,总计DB在CPU上消耗的时间应为32*1664.7 而DB Time的时间为在所有CPUs上消耗的时间106.76 mins。

从这里我们就可以算出数据库用户级别消耗的时间比:106.76/32*1664.7*100%≈0.2%

也就是说DB在CPU上的使用率为0.2%,idle rate达到99.8%。说明数据库负载相当的低。

 

DB Time既然为用户级别的调用,具体包含什么呢?我这里直接引用网上的公式。

DB TIME= DB CPU + Non-Idle Wait + Wait on CPU queue

 

技术分享

通过查看CPU的负载大概可以印证这个数据。

 

第二部分

技术分享

报告概要的Cache Sizes很简单,主要包含buffer的尺寸、shared pool大小、标准块大小、日志buffer的大小。

正如我们所知的,Oracle DB采用LRU算法,将数据块内容缓存至Buffer中,进行数据的加速读取访问操作,而对于已经修改过的Dirty Buffer,又通过Cache和DBWR进程写回到数据文件中。因此对于一个OLTP(On-Line Transaction Processing)型数据库Buffer Cache是相当重要的。

 

To Be Continue...... : P

本文出自 “LinuxOracle” 博客,请务必保留此出处http://onlinekof2001.blog.51cto.com/3106724/1712794

关于AWR报告的解析

原文:http://onlinekof2001.blog.51cto.com/3106724/1712794

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!