- 7
- 0
- 约4.26万字
- 约 41页
- 2017-03-22 发布于湖北
- 举报
1:概念以及内存结构
??????? 本文首先详细介绍了oracle中buffer cache的概念以及所包含的内存结构。然后结合各个后台进程(包括DBWRn、CKPT、LGWR等)深入介绍了oracle对于buffer cache的管理机制,并详细解释了oracle为什么会采用现在的管理机制,是为了解决什么问题。比如为何会引入touch次数、为何会引入增量检查点 等等。最后全面介绍了有关buffer cache监控以及调优的实用方法。1.?buffer cache的概念? 用最简单的语言来描述oracle数据库的本质,其实就是能够用磁盘上的一堆文件来存储数据,并提供了各种各样的手段对这些数据进行管理。作为管理数据的 最基本要求就是能够保存和读取磁盘上的文件中的数据。众所周知,读取磁盘的速度相对来说是非常慢的,而内存相对速度则要快的多。因此为了能够加快处理数据 的速度,oracle必须将读取过的数据缓存在内存里。而oracle对这些缓存在内存里的数据起了个名字:数据高速缓存区(db buffer cache),通常就叫做buffer cache。按照oracle官方的说法,buffer cache就是一块含有许多数据块的内存区域,而这些数据块主要都是数据文件里的数据块内容的拷贝。通过初始化参数:buffer_cache_size 来指定buffer cache的大小。oracle实例一旦启动,该区域大小就被分配好了。buffer cache所能提供的功能主要包括:1)?通过缓存数据块,从而减少I/O。2)?通过构造CR块,从而提供读一致性功能。3)?通过提供各种lock、latch机制,从而提供多个进程并发访问同一个数据块的功能。2.buffer cache的内存结构2.1 buffer cache概述oracle内部在实现其管理的过程中,有两个非常有名的名词:链表和hash算法。链表是一种数据结构,通过将对象串连在一起,从而构成链表结构。这样,如果要修改、删除、查找某个对象的话,都可以先到链表中去查找,而不必实际的访问物理介质。oracle中最有名的链表大概就是LRU链表了,我们后面会介绍它。? 而hash算法则是为了能够进行快速查找定位所使用一种技术。所谓hash算法,就是根据要查找的值,对该值进行一定的hash算法后得出该值所在的索引 号,然后进入到该值应该存在的一列数值列表(可以理解为一个二维数组)里,通过该索引号去找它应该属于哪一个列表。然后再进入所确定的列表里,对其中所含 有的值,进行一个一个的比较,从而找到该值。这样就避免了对整个数值列表进行扫描才能找到该值,这种全扫描的方式显然要比hash查找方式低效很多。其 中,每个索引号对应的数值列在oracle里都叫做一个hash bucket。? 我们来列举一个最简单的hash算法。假设我们的数值列表最多可以有10个元素,也就是有10个hash buckets,每个元素最多可以包含20个数值。则对应的二维数组就是t[10][20]。我们可以定义hash算法为n MOD 10。通过这种算法,可以将所有进入的数据均匀放在10个hash bucket里面,hash bucket编号从0到9。比如,我们把1到100都通过这个hash函数均匀放到这10个hash bucket里,当查找32在哪里时,只要将32 MOD 10等于2,这样就知道可以到2号hash bucket里去找,也就是到t[2][20]里去找,2号hash bucket里有10个数值,逐个比较2号hash bucket里是否存在32就可以了。? buffer cache就是使用多个hash bucket来管理的,其hash算法当然比我们前面列举的要复杂多了。我们先来看下面这个图一。这副图从逻辑上说明了整个buffer cache的结构是怎么样的。这副图的右上角列出了三个名词:hash bucket、buffer header和hash chain。? 这里的hash bucket就是我们前面说明hash算法中提到的二维数组的第一维。它是通过对buffer header?里记录的数据块地址和数据块类型运用hash算法以后,得到的组号。这里的hash chain就是属于同一个hash bucket的所有buffer header所串起来的链表。实际上,hash bucket只是一个逻辑上的概念。每个hash bucket都是通过不同的hash chain而体现出来的。每个hash chain都会由一个cache buffers chains latch来管理其并发操作。? 而对于buffer header来说,每一个数据块在被读入buffer cache时,都会
您可能关注的文档
- Forward基本操作技巧.ppt
- 电气设计基础(二次)浅析.pptx
- 电气施工组织设计(修改)浅析.doc
- 电气施工组织设计方案浅析.doc
- PACU护理业务查房的方式技巧.ppt
- 电气试验工库浅析.doc
- 分布式数据库技术架构的演变与发展方向浅析.pptx
- 分部(分项)工程施工安全技术交底书(教学楼)浅析.doc
- 分部(分项)工程施工安全技术交底书-副本浅析.doc
- A20安卓网络广告机解码板功能技巧.doc
- 西南地区水稻生产品种稻瘟病抗性表现及抗性基因鉴定.pdf
- 我国上市公司ESG信息披露法律规制研究.pdf
- 西部顺运公司客户关系管理策略优化研究.pdf
- 乡村旅游中东道主真诚对游客公民行为作用机制的研究.pdf
- 万州区农民参与数字乡村建设意愿及影响因素研究.pdf
- 西南少数民族地区乡村聚落空间格局分析及优化策略研究.pdf
- DB61_T 2018-2025 公路钢板组合梁桥钢梁预算定额和机械台班费用定额.docx
- T_APD 0016-2025 公路大件运输风险评估指南.pptx
- DB61_T 2030-2025 钛及钛合金焊接接头质量控制规范.docx
- T_CAMDI 157.1-2025 医疗器械用高分子材料和包装材料 灭菌相容性指南 第1部分:通用要求.pptx
最近下载
- 光伏电子产品的设计与制作-电子课件项目3-光伏草坪灯控制电路的设计与制作.pptx VIP
- 2024-2025学年江苏信息职业技术学院单招《数学》试卷含答案详解【考试直接用】.docx VIP
- 党员个人自评总结3篇-党员个人自评 党员个人自评小结 党员个人自评总结3篇.doc VIP
- 人教版英语新目标八年级下册第二单元教材词汇及重点搭配讲解.docx VIP
- 2026年演出经纪人《思想政治与法律基础》真题库及参考答案一套.docx VIP
- 索拉非尼治疗肝癌.pptx VIP
- 【高清可复制】HGT21629-2021 管架标准图_251-300.pdf VIP
- 新版人教版七年级下册地理全册教案(完整版)教学设计.docx
- 2025年北京事业单位真题.docx VIP
- 临时用地表(可编辑).pdf VIP
原创力文档

文档评论(0)