SELECT name,value
  FROM V$SYSSTAT
  WHERE name IN (’db block gets’,’consistent gets’,’physical reads’);  命中率=1-physical reads/(db block gets + consistent gets) 
如果命中率<0.6~0.7,则应增大DB-BLOCK-BUFFERS

解决方案 »

  1.   

    你的内存太少,只从命中率考虑不一定合适。因为操作系统就要占100M多的内存剩下的70M左右的内存你在数据库内部均衡均衡吧!给你个计算命中率的参考一下,当然越大越好
    select 
    sum(decode(name,'consistent gets',value,0)) consistentt,
    sum(decode(name,'db block gets',value,0)) dbblockgets,
    sum(decode(name,'physical reads',value,0)) physrds,
    round((
           (sum(decode(name,'consistent gets',value,0)) +
    sum(decode(name,'db block gets',value,0)) -
    sum(decode(name,'physical reads',value,0))
        )/
    (sum(decode(name,'consistent gets',value,0)) +
     sum(decode(name,'db block gets',value,0))
    )
    )*100,2) Hitratio
    from  V$SYSSTAT;