前言:IO也是衡量数据库的运行的另外一个重要参数,本文档从awr报告中去解读IO;
1、Load Profile,信息量太大了
- Redo size 单位bytes,redo size可以用来估量update/insert/delete的频率,大的redo size往往对lgwr写日志,和arch归档造成I/O压力,Per Transaction可以用来分辨是大量小事务,还是少量大事务如
上例每秒redo约420kb,每个事务4kb,符合OLTP特征;
- Logical Read单位次数*块数,相当于 "人*次",如上例30434 * db_block_size=243M/S,逻辑读耗CPU,主频和CPU核数都很重要,逻辑读高则DB CPU往往高。
- Block changes 单位次数*块数,描绘数据变化频率,上例260* 8k = 2MB/s;
- Physical Read 单位次数*块数,描绘数据变化频率Physical Read 单位次数*块数,如上例 1827*8k = 14.5MB/s, 物理读消耗IO读,体现在IOPS和吞吐量等不同纬度上;但减少物理读可能意味着消耗更多CPU。好的存储 每秒物理读能力达到几GB;
- Physical writes单位次数*块数,主要是DBWR写datafile,也有direct path write dbwr长期写出慢会导致定期log file switch(checkpoint no complete) 检查点无法完成的前台等待。
总结:以上只是awr报告统计的IO负载情况,在实际的环境中,需要了解存储的IO性能,并结合AWR报告中的Top 5 Timed Foreground Events
判断当前系统的IO是否有瓶颈;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
本文作者:JOHN
ORACLE技术博客:ORACLE 猎人笔记 数据库技术群:367875324 (请备注ORACLE管理 )
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++