How to Solve Latch- cache buffers chains

首先找到产生cache buffers chains等待最多的latch地址

 select CHILD#  "cCHILD"
 ,      ADDR    "sADDR"
 ,      GETS    "sGETS"
 ,      MISSES  "sMISSES"
 ,      SLEEPS  "sSLEEPS" 
 from v$latch_children 
 where name = 'cache buffers chains'
 order by 5, 1, 2, 3;

然后根据找到的latch地址获取segment的名字

 column segment_name format a35
 select /*+ RULE */
   e.owner ||'.'|| e.segment_name  segment_name,
   e.extent_id  extent#,
   x.dbablk - e.block_id + 1  block#,
   x.tch,
   l.child#
 from
   sys.v$latch_children  l,
   sys.x$bh  x,
   sys.dba_extents  e
 where
   x.hladdr  = '&ADDR' and
   e.file_id = x.file# and
   x.hladdr = l.addr and
   x.dbablk between e.block_id and e.block_id + e.blocks -1
 order by x.tch desc ;

上面查询的tch字段可以作为衡量数据块hot程度的参考

可以从以下角度着手解决这个问题:

  • 查找是否有效率差的DML或者select语句,造成需要访问相同的block。(Note:1342917.1 Troubleshooting 'latch: cache buffers chains' Wait Contention)
  • 减小buffer cache - 只在很少的情况下有用
  • 配置多个DBWR。(Note:62172.1 - Understanding and Tuning Buffer Cache and DBWR)
  • 增加table的PCTFREE存储参数,可以使单个数据块中包含更少的行
  • 考虑使用reverse key index
  • 相关bug

    下面附送两张图,帮助理解cache buffers chains的结构:
    hash chain list:
    图片描述

hash bucket & latch:
图片描述

参考文章:
http://www.askmaclean.com/archives/oracle%E9%97%A9latch-cache-buffers-chains.html
http://blog.csdn.net/tianlesoftware/article/details/6573438

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值