从这期开始讲解awr报告的部分,上期说的是awr整体的部分,今天开始对里面的细节说起
这期针对Instance Efficiency Percentages 部分做说明
理论上说上述比例应接近100%
Buffer Hit %
该指标指的是数据库请求的数据在buffer cache中直接命中的比例
该指标越高代表oracle在buffer cache直接找到需要的数据越多,从而不需要从磁盘进行读取
如何查看命中率
select round (((1 -( sum( decode (name , 'physical reads', value ,0 ))/
( sum(decode (name, 'db block gets',value ,0))+
( sum(decode (name, 'consistent gets',value ,0))))))* 100),2 )
"Read Hit Ratio"
from v$sysstat;
select * from v$sysmetric
where metric_name = 'Buffer Cache Hit Ratio';
应用场景
该参数在OLAP和DSS系统中不太重要,因为他们有大量的全表扫描或者并行操作
并行操作会跳过buffer cache 而使用PGA
该参数对于OLTP系统非常重要,需要保持在90%以上,因为其有大量连续的操作,从磁盘读取将大大影响系统性能
如何处理
如该指标过低可使用 data buffer cache advisory查看合适建议并修改db_cache_size参数大小
SELECT A.SIZE_FOR_ESTIMATE,
A.BUFFERS_FOR_ESTIMATE,
A.ESTD_PHYSICAL_READ_FACTOR,
ESTD_PHYSICAL_READS
FROM V$DB_CACHE_ADVICE A
WHERE NAME='DEFAULT' AND BLOCK_SIZE=
( SELECT VALUE FROM V$PARAMETER WHERE NAME='db_block_size' )
and advice_status= 'ON';
下期预告
In-memory Sort %