> 데이터 베이스 > MySQL 튜토리얼 > 如何收集系统最繁忙时段的AWR性能报告

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 16:03:41
원래의
1353명이 탐색했습니다.

众所周知,AWR在故障排查和性能优化过程中能起到举足轻重的作用,一个常用的思路是可以结合繁忙时段和空闲时段的两份AWR性能报告很明显地看出数据库性能的变动。 问:当你想收集数据库最繁忙时段的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

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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿