之前的工作对AWR的分析较少,但AWR是分析数据库性能的一个重要工具,故做了本片初步学习总结。关于AWR,我们一定知道前段时间的RWP中国行中的重量级嘉宾之一 Graham Wood ,其在Oracle内部被称为AWR之父,他在活动中解释说AWR中的每一个数据都是精心选取的,通过认真分析这些数据,可以看到隐匿其中的许多问题。
而作为DBA日常工作中的一项重要内容,AWR报告的检查分析,可以了解日常高峰时段数据库各项指标和运行状态,通过对比报告观察和基线的变化,通过趋势分析持续关注数据库日常运行状态。但是一份AWR报告的指标众多,下面列出几个重要的指标:
平台信息:CPU信息、内存信息、主机系统信息等。
Oracle版本:版本信息在问题分析中说明新特性是否开启,某些参数已经被遗弃等。
Elapsed time:主要是指AWR两个数据库快照之间的间隔时间,例如数据库AWR快照默认间隔时间为1小时,则Elapsed time为60min;
DB time:描绘了数据库的总体负载,可以理解为数据库忙碌的时间,例如数据库处理某事务需要消耗1S,但是在1小时内,请求了10000次,则DB time为10000S;
Average Active Session AAS= DB time/Elapsed Time:平均会话数,表示在一个AWR的间隔时间内,一个平均的性能报告数量,能体现数据库的一个负载情况,该数值越高,表示数据库越忙碌,该数值越低,表示数据库越空闲。
Logical Read:描述数据库从DB Buffer Cache中读取数据的情况,单位 次数*块数, 例如 196,888 * db_block_size=1538MB/s , 逻辑读耗CPU,往往可以看到latch: cache buffer chains等待。 大量OLTP系统(例如siebel)可以高达几十乃至上百Gbytes。
Physical Read:描述数据库从存储设备上进行读取的情况,单位次数*块数, 例如 5076 * 8k = 39MB/s, 物理读消耗IO读,体现在IOPS和吞吐量等不同纬度上;但减少物理读可能意味着消耗更多CPU。好的存储 每秒物理读能力达到几GB,例如Exadata。 这个physical read包含了physical reads cache和physical reads direct。
Physical writes:主要描述DBWR写datafile 单位 次数*块数,,也有direct path write。 dbwr长期写出慢会导致定期log file switch(checkpoint no complete) 检查点无法完成的前台等待。 这个physical write 包含了physical writes direct +physical writes from cache。