其实,网上关于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%。说明数据库负载相当