http://blog.itpub.net/12679300/viewspace-1182396/
一、前言:
AWR报告是了解ORACLE运行的一个重要报告,CPU的使用情况是AWR报告的一个重要指标,本文档从单个CPU的维度去解读AWR报告;
二、重要参数介绍:
DB Time:Amount of elapsed time (in microseconds) spent performing Database user-level calls. This does not include the elapsed time spent on instance background processes such as PMON.
说明: DB TIME= 所有 前台 session 花费在 database 调用上的总和时间
注意是前台进程 foreground sessions
包括 CPU 时间、 IO Time 、和其他一系列 非空闲 等待时间,别忘了 cpu on queue time
公式:
DB TIME= DB CPU + Non-Idle Wait + Wait on CPU queue
(思考 DB TIME 的定义定的是前台 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.
说明:简单的理解为数据库在运行时消耗的CPU的情况;
db cpu,只包含了用户进程消耗的cpu time,不包含后台进程消耗的cpu time。我们一般关心的是cpu time,并不关心db cpu
三、检查数据库的负载情况
例一:
数据库运行了60分钟,操作系统有16个CPU,总共的DB TIME:60×16=960分钟;
CPU花费了233.57分钟在处理Oralce非空闲等待和运算上,也就是说CPU有 233.57/960*100% =24.3%,
例二:
数据库运行了60分钟,操作系统4个CPU,总共DB TIME:60×8=480分钟;
CPU花费了0.62分钟在处理Oralce非空闲等待和运算上,也就是说CPU有 0.62/480*100% =0.13%,
总结:很显然从DB Time、Elapsed、CPUs可以初步的看出数据库的负载情况;
四、检查数据库的CPU负载情况
例一:
DB CPU(S)表明:数据库每次运行时在DB CPU上面的消耗情况,上面DB CPU/DB Time=97.5%(因为小数点的关系,该值会有误差)
详细的CPU的繁忙程度需要查看Instance CPU的%Busy CPU,当前为99.2%;
例二:
根据上面的计算可以知道这个系统的CPU负载也很轻松;