Oracle数据库缓冲区命中率的概述


  本文标签:Oracle数据库

  Oracle数据库缓冲区命中率是我们经常用到的,以下的文章主要是介绍Oracle数据库缓冲区命中率,以下就是正文的介绍  。你如果是Oracle数据库缓冲区命中率的相关内容的疯狂一族的话,以下的文章,你一定不要错过  。

  1、查看Oracle数据库缓冲区命中率

  

  1. select a.value + b.value "logical_reads", c.value 
    "phys_reads", round(100 * ((a.value+b.value)-c.value) 
    / (a.value+b.value)) "BUFFER HIT RATIO" from v$sysstat a, 
    v$sysstat b, v$sysstat c where a.statistic# = 40 and b.
    statistic# = 41 and c.statistic# = 42; 

  2、Tags: oracle

  Oracle数据库缓冲区命中率:

  

  1. sql>select value from v$sysstat where name =
    physical reads; value 3714179 sql>select value 
    from v$sysstat where 
    name =physical reads direct
    value 0 sql
    >select value from v$sysstat where name 
    =
    physical reads direct(lob); value 0 sql>select value 
    from v$sysstat where 
    name =consistent gets; value 856309623 
    sql
    >select value from v$sysstat where name =db block gets
    value 19847790 

  这里命中率的计算应该是令

  1. x=physical reads direct + physical reads direct(lob) 

  命中率

  1. =100-(physical reads -x)/(consistent gets +db block gets -x)*100 

  通常如果发现命中率低于90%,则应该调整应用可以考虑是否增大数据加

  共享池的命中率

  

  1. sql> select sum(pinhits)/sum(pins)*100 "hit radio" 
    from v$librarycache; 

  如果共享池的命中率低于95%就要考虑调整应用(通常是没应用bind var)或者增加内存  。

  关于排序部分

  

  1. sql> select name,
    value from v$sysstat where name like %sort%; 

  如果我们发现sorts(disk)/(sorts(memory)+sorts(disk))的比例过高,则通常意味着sort_area_size部分内存教较小,可考虑调整相应的参数  。

  关于log_buffer

  

  1. sql>select name,value from v$sysstat where name in 
    (redo entries,redo buffer allocation retries); 

  假如redo buffer allocation retries/redo entries的比例超过1%我们就可以考虑增加log_buffer.

  上述的相关内容就是对Oracle数据库缓冲区命中率的描述,希望会给你带来一些帮助在此方面  。