cache buffers chains以及热块解决方案 今天是2013-10-10,今天下午我调休了,中午饭过后从14点一直睡到16点,这种感觉真爽.  之前学习过关于buffer cache的cache buffers lru chain的知识,其中说到了lru,dirty list,ws等等,详见:http://blog.csdn.net/xiaohai20102010/article/details/11490925 今天在看一下buffer bucket 与 cache buffers…
本文转自惜分飞的博客,博客原文地址:www.xifenfei.com/1109.html,支持原创,分享知识! 当一个数据块读入sga区,相应的buffer header会被放置到hash列表上,我们称其这hash chains,chain在中文的意为链条或串的意思,表达就是关连性.如果一个进程想访问或修改hash chain上的block,它首先要获得"cache buffers chains" latch. 原因一:低效率的SQL语句(主要体现在逻辑读过高) cache buffe…
一大早就接到开发商的电话,说数据库的CPU使用率为100%,应用相应迟缓.急匆匆的赶到现场发现进行了基本的检查后发现是latch: cache buffers chains 作祟,处理过程还算顺利,当时忘了记录log,这里总结下处理思路,以便下次查看. 故障分析思路 查看等待事件,判断故障起因 SQL>select * from (select sid,event,p1,p2,p3,p1text,WAIT_TIME,SECONDS_IN_WAIT from v$session_wait wher…
前两天对oracle数据库(single instance)进行了迁移升级从10.2.0.4 升到11.2.0.3,有一个项目迁完后第二天,cpu负载升到了130更高(16cpus). 向用户询问后使用上没有改变,平时就几个人使用,而该用户活动会话就有100多个.最在等待CBC latch. 怀疑是执行计划发生了改变. [root@dbserver40 ~]# free total       used       free     shared    buffers     cached Me…
数据块在buffer cache存放是以linked list方式存放的.当一个session想要访问/修改buffer cache的block,首先需要通过hash算法检查该block是否存在于buffer cache中,检查相同的SQL语句是否存在于library cache中也是通过hash算法实现的.要判断block是否存在于buffer cache中,就需要扫描linked list(此处都是串行的,不能并发),获取block的信息.而扫描linked list必须获得一个latch,…
一大早就接到开发商的电话,说数据库的CPU使用率为100%,应用相应迟缓.急匆匆的赶到现场发现进行了基本的检查后发现是latch: cache buffers chains 作祟,处理过程还算顺利,当时忘了记录log,这里总结下处理思路,以便下次查看. 故障分析思路 查看等待事件,判断故障起因 SQL>select * from (select sid,event,p1,p2,p3,p1text,WAIT_TIME,SECONDS_IN_WAIT from v$session_wait wher…
问题描述: 项目反馈某功能响应时间很长,高峰期时系统整体响应很慢... 获取相应的AWR,问题确实比较严重,latch: cache buffers chains等待,因为这些会话SQL执行时间太长,并发情况下数据库连接数迅速增长,从应用服务器的性能计数器上确实可以看到数据库连接激增的情况. 原因分析: Oracle使用WHERE C1='' OR C2 IN(SubQuery)的方式会造成索引失效问题,以下是测试示例: create table tkk22 as select * from u…
cache buffers chains latch 从 Oracle 8i Database 开始, 散列锁存器<-------(1:m)------>hash bucket<-------------(1:1)---------->hash chain 1.每个逻辑读取需要一个latch get操作个一个CPU 2.从latch get 例程中获得的唯一方法是获取锁存器 3.在任意一个时刻,只有一个进程可以拥有cache buffers链,并且这个锁存器覆盖许多数据库,另一个进…
深入理解latch: cache buffers chains http://blog.itpub.net/12679300/viewspace-1244578/ 原创 Oracle 作者:wzq609 时间:2014-08-03 17:04:03  8854  0 事件背景:   一个客户的数据库发生了宕机事件,查看了数据库的awr报告,原来是由于出现大量的latch: cache buffers chains等待事件导致系统消耗量大量的CPU,最终导致系统hang住: 说明:   要理解la…
1.低效的SQL 低效的SQL语句时发生cache buffers chains 锁存器争用的最重要原因.多个进程同时扫描大范围的索引或表时,可能广泛 地发生cache buffers chains latch争用. 低效的SQL语句时怎样引起cache buffers chain latch争用的,我们可以测试进一步进行了解.测试方案如下: 1) 创建cbc_test(id,name)表,对于ID列创建cbc_test_idx索引.ID列是唯一键,是选择性非常好的列. 2)多个会话同时通过cb…