设为首页 收藏本站
查看: 580|回复: 0

[经验分享] oracle libary cache 命中率

[复制链接]

尚未签到

发表于 2018-9-15 06:05:10 | 显示全部楼层 |阅读模式
  原文出处
  SQL> desc v$librarycache
  Name                                      Null?    Type
  ----------------------------------------- -------- ----------------------------
  NAMESPACE                                          VARCHAR2(15)
  GETS                                               NUMBER  可以理解为某个object解析的时候查找的次数(解析阶段)
  GETHITS                                            NUMBER get命中次数
  GETHITRATIO                                        NUMBER 这个值等于gethits/gets
  PINS                                               NUMBER   某个object 解析过后被执行的次数(发生在执行阶段)
  PINHITS                                            NUMBER  pin命中次数
  PINHITRATIO                                        NUMBER  这个值等于pinhits/pins

  >  INVALIDATIONS                                      NUMBER 某个对象无效,通常由于对象定义被更改,需要从新解析
  DLM_LOCK_REQUESTS                                  NUMBER
  DLM_PIN_REQUESTS                                   NUMBER
  DLM_PIN_RELEASES                                   NUMBER
  DLM_INVALIDATION_REQUESTS                          NUMBER
  DLM_INVALIDATIONS                                  NUMBER
  查看总的library cache pinhitratio 应该大于90%,最理想大于95%
  SQL> select sum(pinhits)/sum(pins) pinhitratio from v$librarycache;
  PINHITRATIO
  -----------
  .916570607

  SQL> select sum(pins)/(sum(pins)+sum(reloads))>  RELOADHITRATIO
  --------------
  .997046909
  查看reloadhitratio 应该小于1%
  SQL> select sum(reloads)/sum(pins) from v$librarycache;
  SUM(RELOADS)/SUM(PINS)
  ----------------------
  .002959248
  查看各个类型的library cache ratio, 看pinhitratio 这一行
  SQL> select namespace,pins pinhits ,pinhitratio from v$librarycache;
  NAMESPACE          PINHITS PINHITRATIO
  --------------- ---------- -----------
  SQL AREA            136089  .907935248
  TABLE/PROCEDURE      54863  .917230192
  BODY                 11053  .988057541
  TRIGGER               2064  .994670543
  INDEX                  239  .665271967
  CLUSTER               4603  .996958505
  OBJECT                   0           1
  PIPE                     0           1
  JAVA SOURCE              0           1
  JAVA RESOURCE            0           1
  JAVA DATA                0           1
  11 rows selected.
  查看当前 library cache 的大小
  SQL> select sum(sharable_mem) from v$db_object_cache;
  SUM(SHARABLE_MEM)
  -----------------
  20775388
  查看剩余的 shared pool
  SQL> select * from v$sgastat where name='free memory' and pool='shared pool';
  POOL         NAME                            BYTES
  ------------ -------------------------- ----------
  shared pool  free memory                  86134880
  ORACLE调优专家所推荐的长期运行的数据库的 library cache hitratio 最好应该在95%以上,sum(reloads)与sum(pins) 的比值应该小于 1%,如果pinhitratio 小于90%,或者reload ratio 大于1% ,而且shared pool 的free memory 很小或者为0,那么可以适当增加shared_pool的大小,检查应用程序代码效率,比如是否使用了绑定变量等等.
  这里可以看出pinhitratio命中率小于95%,但是有低于1%的重载率,而且看到剩余的shared pool 有80多M,说明我的shared pool完全够用。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-582972-1-1.html 上篇帖子: oracle数据泵导出数据 下篇帖子: Oracle CPU负载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表