oracle数据库提高命中率及相关优化

oracle数据库提高命中率及相关优化

ID:8981517

大小:83.50 KB

页数:7页

时间:2018-04-14

oracle数据库提高命中率及相关优化_第1页
oracle数据库提高命中率及相关优化_第2页
oracle数据库提高命中率及相关优化_第3页
oracle数据库提高命中率及相关优化_第4页
oracle数据库提高命中率及相关优化_第5页
资源描述:

《oracle数据库提高命中率及相关优化》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Oracle数据库提高命中率及相关优化2010-01-2909:41蓝色天空CHINAUNIX我要评论(0)字号:T

2、T本文将为大家介绍在Oracle数据库中,如何提高命中率,以及相关算法的性能对比。希望这些比较过程能帮助大家更高效率的管理Oracle。AD:本文是关于Oracle数据库调试与优化方面的文章,主要介绍Oracle数据库中命中率相关的问题,包括不同的算法之间性能的比对。51CTO编辑向您推荐《Oracle数据库调试与性能优化》关于Oracle中各个命中率的计算以及相关的调优1)Li

3、braryCache的命中率:.计算公式:LibraryCacheHitRatio=sum(pinhits)/sum(pins)1.SQL>SELECT SUM(pinhits)/sum(pins)   2.FROM V$LIBRARYCACHE; 通常在98%以上,否则,需要要考虑加大共享池,绑定变量,修改cursor_sharing等参数。2)计算共享池内存使用率:1.SQL>SELECT (1 - ROUND(BYTES / (&TSP_IN_M * 1024 * 1024), 2)) *

4、 100 

5、

6、 '%' 2.FROM V$SGASTAT 3.WHERE NAME = 'free memory' AND POOL = 'shared pool'; 其中:&TSP_IN_M是你的总的共享池的SIZE(M)共享池内存使用率,应该稳定在75%-90%间,太小浪费内存,太大则内存不足。查询空闲的共享池内存:1.SQL>SELECT * FROM V$SGASTAT 2.WHERE NAME = 'free memory' AND POOL = 'shared pool'; 3)db

7、buffercache命中率:计算公式:Hitratio=1-[physicalreads/(blockgets+consistentgets)]1.SQL>SELECT NAME, PHYSICAL_READS, DB_BLOCK_GETS, CONSISTENT_GETS, 2.1 - (PHYSICAL_READS / (DB_BLOCK_GETS + CONSISTENT_GETS)) "Hit Ratio" 3.FROM V$BUFFER_POOL_STATISTICS 4.WHERE

8、 NAME='DEFAULT'; 通常应在90%以上,否则,需要调整,加大DB_CACHE_SIZE另外一种计算命中率的方法(摘自ORACLE官方文档<<数据库性能优化>>):命中率的计算公式为:1.Hit Ratio = 1 - ((physical reads - physical reads direct - physical reads direct (lob)) / (db block gets + 2.consistent gets - physical reads direct -

9、 physical reads direct (lob)) 分别代入上一查询中的结果值,就得出了Buffercache的命中率1.SQL>SELECT NAME, VALUE 2.FROM V$SYSSTAT 3.WHERE NAME IN('session logical reads', 4.'physical reads', 1.'physical reads direct', 2.'physical reads direct (lob)', 3.'db block gets', 'cons

10、istent gets'); 4)数据缓冲区命中率:1.SQL> select value from v$sysstat where name ='physical reads'; 2.SQL> select value from v$sysstat where name ='physical reads direct'; 3.SQL> select value from v$sysstat where name ='physical reads direct (lob)'; 4.SQL> se

11、lect value from v$sysstat where name ='consistent gets'; 5.SQL> select value from v$sysstat where name = 'db block gets'; 这里命中率的计算应该是令x=physicalreadsdirect+physicalreadsdirect(lob)命中率=100-(physicalreads-x)/(consistentgets+dbblockgets-x)*100通常如果发现命中率低

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。