龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle数据库提高命中率及相关优化(1)(4)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
*********************** Oracle数据库缓冲区命中率 ***************** 1、查看Oracle数据库缓冲区命中率 select a.value + b.value logical_reads, c.value phys_reads, round(100 * ((a.valu

***********************Oracle数据库缓冲区命中率*****************

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

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

数据库缓冲区命中率:

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.

以上就是我要为大家介绍的全部内容,内容相对来说比较多,知识点也很集中,希望大家认真阅读,很好的掌握其中的知识。

精彩图集

赞助商链接