详细讲解数据缓冲区与共享池的命中率

详细讲解数据缓冲区与共享池的命中率
作者:Cedric 出处:赛迪网 更新时间:2008-07-03 责任编辑:seward
 
   

数据缓冲区命中率:

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

这里命中率的计算如下:

令x=physical reads direct + physical reads direct(lob)

命中率=100-(physical reads -x)/(consistent gets +db block gets -x)*100

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

 

共享池的命中率:

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

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

 

关于排序部分:

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

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

 

关于log_buffer:

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。
 
   

请使用浏览器的分享功能分享到微信等