Home > Database > Mysql Tutorial > 如何收集系统最繁忙时段的AWR性能报告

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 16:03:41
Original
1353 people have browsed it

众所周知,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
运行结果如下图:
Copy after login

\

通过DBMS包读取AWR信息

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

运行结果如下图:

\

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

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

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

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

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template