- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle RAC Cache Fusion 系列八:
Oracle RAC 分布式资源管理(一)
从Oracle8开始,DLM数据库(存储有关资源,锁,进程的信息)已集成在Oracle SGA中。DLM内存区用于存储所有锁相关的master节点。DLM不提供锁定资源的能力,但是它会将资源提供为可锁定实体。在Oracle8i中,主节点与目录节点是固定的这对锁资源申请访问并不友好。从Oracle9i开始,这种固定的对应方式被取代,Oralce使用动态remaster技术,通过lookup表运用hash算法将换算后的的master key与实际的master做一一对应。
资源:应用程序访问的任何对象
客户端:任何要求资源的进程
锁:客户端对资源的意图
DLM服务:允许客户端应用程序创建,修改和删除共享的锁。
DLM数据库:存储有关资源,锁,进程的信息
资源在Oracle中定义为(程序访问的任何对象)。每个资源都需要有当前授予的用户锁列表,此列表称为Grant Q。此外还有相对应的Convert Q,即等待转换的锁队列。此外,有些资源拥有用于存储少量锁定值的块(LVB),一般16字节。例如,并行查询子进程在申请的PS资源(Parallel Slave Synchronization)的时候使用它存储kxfpqd结构传递给其他节点。这两种资源类型具有不同的数据结构。客户端(用户)必须锁定资源才能使用它所代表的内容。
资源类型与数据结构的对应:
Enqueues:锁定非PCM资源
lock Elements:锁定PCM资源
如果Oracle进程没有遵循“使用前锁定”规则,那么这个系统就会乱套。它可能在一段时间内不会显示为系统或数据损坏。
当进程锁定资源的授权队列时,它被称为“拥有”资源。下图显示了对资源的Grant Q的锁定。锁可以是进程或组拥有的。进程拥有的情况下,则PID字段显示进程号。组拥有锁的情况下,GID字段表示为组号,DID字段表示为客户端事务的XID(TxID)。
在一个简单的实现中,DLM为进程提供锁定。这在维护进程到会话映射时工作正常。但是,在MTS(共享服务器)和XA(分布式)场景下,会话可能会涉及迁移,或者多个进程完成一个事务。这时候提供基于会话的标识符来控制对锁的访问是非常明智的选择,这就是组锁定引入的缘由。通常,Oracle提供事务XID作为组ID,然后处理该事务的任何进程都只提供XID和锁定操作即可。
影子资源
?主节点具有所有资源信息,例如完全授权队列和转换队列。
?影子资源存在于对此资源感兴趣(申请锁定)的任何其他节点上,但它只知道自己本地节点上的锁。
影子资源存在于对资源感兴趣的任何其他节点上,即对该资源打开锁定的任何节点。在主节点以外的节点上保持锁定时,主节点会在本地保留锁定的副本。资源感兴趣的每个节点都只有一个锁的副本。复制锁保存在主节点上,这是主节点所必需的信息。其他信息每个节点可以根据自己所需进行维护。主节点具有主锁,本地节点具有影子锁。
基础资源结构及资源管理
GRD(DLM)维护资源的所有节点上的锁的信息。锁master分布在群集中的所有节点上。主节点包含资源的描述以及资源上持有最高锁定模式的锁信息。Oracle根据资源名称通过使用数组来计算资源的主节点:res_hash_val_kjga(对于非PCM资源)和pcm_hv_kjga(对于PCM资源)。它选择一个节点来管理资源的相关信息和在资源上的锁信息,这种节点称为资源的主节点。当节点加入或离开集群时,重构阶段Oracle会以最小化资源迁移更新res_hash_val_kjga和pcm_hv_kjga数组。每个数组都包含一个bucket包含物理节点号。对于非PCM资源,Oracle对资源名称进行Hash以获取存储桶编号bidx,然后使用res_hash_val_kjga [bidx]确定资源的主节点编号,集群中的每个节点的数组都是私有化的。?
resource name:用于标识的唯一名称资源,Value Block:内存中用于存储有关资源信息的区域。
Granted Queue:在资源上授予锁。
Convert Queue:锁在从一种模式转换为另一种模式。
每个非PCM资源在集群中通过名称进行标识,名称”由3个4字节的整数组成(ub4 n[3])。
Non-PCM:名称由3个4字节的整数组成(ub4 n[3])。n [0]设置为id1,n [1]设置为id2,n [3]接收字符串值(例如“DI”或“LB”)。
PCM:由具有两个整数的名称标识,具有第三个整数字符对为“BL”。
您可能关注的文档
- 人教版九年级上册数学《22.1.1 二次函数》同步作业.docx
- 20190420-八下期中物理期中测试学生版.docx
- 人教版高中语文必修三第一单元第三课《老人和海》教学设计.doc
- 人教版英语八年级上册Unit 2 Section A (1a-1c)教案设计.doc
- 浅析小学英语阅读教学(定稿).doc
- 定风波教学课例.docx
- 中山市沙溪容闳幼儿园室内小型玩具需求表.docx
- 2019年全国中考语文考试试题分类汇编之小 说阅读.docx
- 液体分装泵快速使用指南.doc
- PIE-for-NET-SDK二次开发文档.docx
- 2019学年人教版物理必修1 第一章 第3节 运动快慢的描述—速度 课前测试试题(答案解析).docx
- 新目标版八年级上英语Unit2How often do you exercise_SectionB(2a-2e).pptx
- 2019北京市首师附初一下期末语文.doc
- 山东省诸城繁华中学人教版高中物理必修2导学案设计:5.3研究平抛运动(无答案).doc
- 广东省深圳市南山区2019年八年级上学期人教版语文第二单元单元测试试题(有答案).doc
- 消息认证和数字签名.ppt
- 热学-(2-第二章-气体分子运动论的基本概念).pptx
- 2017-2018年度人教版八年级数学下册课件18.2.2.2.ppt
- 汽车产业信息化分享.pptx
- 星球地理八年级上册第二章第二节 气候基本特征.ppt
文档评论(0)