[AWR报告]Buffer Hit %

时间:2022-07-23
本文章向大家介绍[AWR报告]Buffer Hit %,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

从这期开始讲解awr报告的部分,上期说的是awr整体的部分,今天开始对里面的细节说起


这期针对Instance Efficiency Percentages 部分做说明

理论上说上述比例应接近100%


Buffer Hit %

该指标指的是数据库请求的数据在buffer cache中直接命中的比例

该指标越高代表oracle在buffer cache直接找到需要的数据越多,从而不需要从磁盘进行读取


如何查看命中率

  1. Oracle 9i及以上
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;
  1. Oracle 10g及以上
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 %