分享知识 收获快乐 http://www.acoug.org
http://www.acoug.org 实力成就稳健 技术创造价值
概述:本篇文章重点对 AWR 报告中的 DB Time、DB CPU、IO 等数据进行了说明,可帮助读者更加清楚的理
解这些数据代表的含义,与数据库的性能表现有何关系。同时通过两个简短的例子,实践如何分析 AWR 报告。
1 AWR 概述
Automatic Workload Repository(AWR)是 10g 引入的一个重要组件。在里面存贮着近期一段时间内(默认是
7 天)数据库活动状态的详细信息。
AWR 报告是对 AWR 视图进行查询而得到的一份自动生成的报告。可以通过下面的脚本手工得到一份
AWR 报告。
exec dbms_workload_repository.create_snapshot;
... running the specified workload
exec dbms_workload_repository.create_snapshot;
@?/rdbms/admin/awrrpt
通过 AWR 和 AWR 报告,DBA 可以容易地获知最近数据库的活动状态,数据库的各种性能指标的变化趋
势曲线,最近数据库可能存在的异常,分析数据库可能存在的性能瓶颈从而对数据库进行优化。
AWR 报告所有的数据来源于 AWR 视图,即以 DBA_HIST_开头的所有系统表,Database Reference 有对
所有这些系统表的描述,这应该是 Oracle 官方对 AWR 报告的官方注释了。而对于如何有效地去分析 AWR 报
告,这可能更需要 DBA 经验的日积月累。
AWR 的前身是 Statspack,Statspack 在 10g 和 11g 中也有提供,同时和 AWR 一起做了同步更新,而且
Statspack 是公开源代码的,因此,关于 Statspack 的资料,还有 Statspack 的源代码,都是理解 AWR 的一个有
用的辅助。
本文着重对 AWR 中的一些要点进行剖析,欢迎一起讨论 AWR 相关的问题。
2 DB CPU - CPU 负载分析
如果关注数据库的性能,那么当拿到一份 AWR 报告的时候,最想知道的第一件事情可能就是系统资源的
利用情况了,而首当其冲的,就是 CPU。
而细分起来,CPU 可能指的是:
1. OS 级的 User%,Sys%, Idle%
2. DB 所占 OS CPU 资源的 Busy%
3. DB CPU 又可以分为前台所消耗的 CPU 和后台所消耗的 CPU
如果数据库的版本是 11g,那么很幸运的,这些信息在 AWR 报告中一目了然:
评论0