cache buffers chains latch
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链,并且这个锁存器覆盖许多数据库,另一个进程可能需要其中一些数据块。
为了使用高速缓冲区,要查询或修改Hash chain的进程必须获取管理响应Chain的Cache buffers chains latch.
因为一个Cache buffers chains latch保护多个Hash Bucket。从Oracle 9i起,以只读为目的的查询Chain时,可以将cache buffers chains latch
以Shared 模式共享,因此有助于减少争用。
对于Shared 模式的cache buffers chains latch 有几个注意点:
若能共享cache buffers chains latch,理论上不应该发生同时执行Select 操作引起cache buffers chains latch 争用。
但是实际测试结果,同时执行Select操作依然会发生锁存器争用。
其理由是与buffer lock相关。若为了读取工作,以Shared 模式已获得latch时,读取实际缓冲区过程中需要以Shared模式获取buffer lock,
在此过程中需要部分修改缓冲区信息。因此在获取buffer lock过程中,需要将锁存器修改为Exclusive模式,在释放buffer lock期间也需要Exclusive模式
获取锁存器。在此过程中因为发生了争用,所以要等待latch:cache buffers chains事件。
cache buffers chains latch的更多相关文章
- 低效的SQL引发的cache buffers chains latch
1.低效的SQL 低效的SQL语句时发生cache buffers chains 锁存器争用的最重要原因.多个进程同时扫描大范围的索引或表时,可能广泛 地发生cache buffers chains ...
- 【转载】latch: cache buffers chains
本文转自惜分飞的博客,博客原文地址:www.xifenfei.com/1109.html,支持原创,分享知识! 当一个数据块读入sga区,相应的buffer header会被放置到hash列表上,我们 ...
- [转帖]深入理解latch: cache buffers chains
深入理解latch: cache buffers chains http://blog.itpub.net/12679300/viewspace-1244578/ 原创 Oracle 作者:wzq60 ...
- 热点块引发的cache buffers cahins latch
热点块引发的Cache buffer Chains latch: SQL语句即便适当进行了调优,有时也无法解决cache buffers cahins latch,若在编写SQL语句时的SQL工作方式 ...
- cache buffers chains以及热块解决方案
cache buffers chains以及热块解决方案 今天是2013-10-10,今天下午我调休了,中午饭过后从14点一直睡到16点,这种感觉真爽. 之前学习过关于buffer cache的ca ...
- Oracle索引失效问题:WHERE C1='' OR C2 IN(SubQuery),并发请求时出现大量latch: cache buffers chains等待
问题描述: 项目反馈某功能响应时间很长,高峰期时系统整体响应很慢... 获取相应的AWR,问题确实比较严重,latch: cache buffers chains等待,因为这些会话SQL执行时间太长, ...
- latch: cache buffers chains故障处理总结(转载)
一大早就接到开发商的电话,说数据库的CPU使用率为100%,应用相应迟缓.急匆匆的赶到现场发现进行了基本的检查后发现是latch: cache buffers chains 作祟,处理过程还算顺利,当 ...
- 案例:latch: cache buffers chains event tuning
前两天对oracle数据库(single instance)进行了迁移升级从10.2.0.4 升到11.2.0.3,有一个项目迁完后第二天,cpu负载升到了130更高(16cpus). 向用户询问后使 ...
- latch:cache buffers chains的优化思路
数据块在buffer cache存放是以linked list方式存放的.当一个session想要访问/修改buffer cache的block,首先需要通过hash算法检查该block是否存在于bu ...
随机推荐
- LINQ 内链接 左链接 右链接
原文地址:http://blog.sina.com.cn/s/blog_46e9573c01014fx2.html 1.左连接: var LeftJoin = from emp in ListOfEm ...
- C++图结构的图结构操作示例
示例代码: /* By qianshou 2013/10/5明天就要开学了~哎~ */ #include<iostream> using namespace std; /********* ...
- 我所理解的设计模式(C++实现)——策略模式(Strategy Pattern)
概述: 每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法. 而策略模式就是对算法进行包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理.策 ...
- Wamp集成环境安装
一.Wamp下载 点我下载WampServer2.1a-x32 二.Wamp安装步骤 三.修改语言为汉语 四.查看测试页面
- 使用ViewPager+Fragment来实现带滚动条的多屏滑动-IndicatorFragmentActivity
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17201587 介绍 在android应用中,多屏滑动是一种很常见的风格,博主 ...
- Android较低版本(<5.2) 页面默认Select选择框效果的BUG解决
Bug描述: 使用低版本安卓(<5.2),在微信上打开网页,点击下拉框,会出现如下图所示的用来展示select选项的弹出框: 在选项较少的时候,可以向下滑动,将选项滑到底部 滑动前: 滑动后: ...
- C# winform xml的增删改查
代码如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using Syst ...
- linux内存机制
~# free -m total used free shared buffers cachedMem: 16086 8579 7507 0 152 800 ...
- C#基础语法总结
C#笔记——基础篇 一.入门知识 VS中的常用快捷键 Ctrl+K+D:快速对齐代码 Ctrl+Z:撤销 Ctrl+S:保存(一定要经常保存!) Ctrl+J:快速弹出智能提示 Shift+End . ...
- C#调用cmd 脚本实例
1.实例1 public static void TestOne() { Process p = new Process(); p.StartInfo.FileName = "cmd.exe ...