前言
DBA往往需要在数据库性能问题的时候快速获取数据库负载信息,而AWR此时通常作为最有效的工具之一,虽然AWR很优秀,但是众所周知也存在一些缺陷,主要体现在如下两方面:
- 内容繁多,用时较长
- AWR统计的是begin_snap、end_snap两个快照间间累积差异,在这之间每个快照间的变化无法体现
大家都知道AWR报告也都来源于数据库相关视图,因此只要我们弄清楚这些元数据的关系,就能按照我们自己的意愿组织我们自己所最关心的报告数据。
脚本
如下,这是自己参考相关资料总结的load profile报告脚本,如果有需要可以通过下文的链接下载
说明
- 结果集为快照间load profile 指标间的累积差
- DB time、DB CPU 单位为微妙
- Redo、 LogicalR、BlockChs、Phyr、Phyw 单位为块数,计算实际大小时别忘记db_block_size
- 剩余指标单位皆为次数
- 脚本已经在oracle 11.2.0.1、11.2.0.4单实例和RAC环境下通过测试