如何收集系统最繁忙时段的AWR性能报告

众所周知,AWR在故障排查和性能优化过程中能起到举足轻重的作用,一个常用的思路是可以结合繁忙时段和空闲时段的两份AWR性能报告很明显地看出数据库性能的变动。

 

问:当你想收集数据库最繁忙时段的AWR性能报告怎么办?如何判断数据库在某个时段最繁忙呢?

 

思路:我们可以通过DB TIME大致地判断数据库在某些时段是空闲还是繁忙,通过读取相对应的SNAP_ID来生成AWR性能报告,以下是演示过程,可以根据实际的要求来稍做调整。

  

收集数据库系统最繁忙时段的两个间隔SNAP_ID

 

select * from (SELECT snap_id,
               (nvl(LEAD(snap_id, 1) OVER(ORDER BY snap_id), 0)) AS "UP_snapid",
               value,
               (nvl(LEAD(value, 1) OVER(ORDER BY value), 0)) AS "UP_value",
               (nvl(LEAD(value, 1) OVER(ORDER BY value), 0)) - value as "Result"
          FROM dba_hist_sysstat
         where stat_name = 'DB time'
         order by 5 desc)
         where "Result" > 0


运行结果如下图:

 

通过DBMS包读取AWR信息

SELECT output
  FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT(4160719624,
                                                      1,
                                                      2335,
                                                      2336));

 

运行结果如下图:

 

结合以上两个简单的步骤,就可以快速地收集数据库繁忙时段的AWR性能报告。但这只是相邻两个SNAP_ID的AWR性能报告,每个SNAP_ID默认相隔1小时,朋友们还可以通扩展过这个思路去收集N天内M小时间最繁忙时段的AWR性能报告。这里就不再赘述了。

 

-------------------------------------------------------------------------------------------------

本文来自于我的技术博客 http://blog.csdn.net/robo23

转载请标注源文链接,否则追究法律责任!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值