千家信息网

如何理解oracle 11g DRM

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这期内容当中小编将会给大家带来有关如何理解oracle 11g DRM,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。DRM 简介首先,我们对和DRM 相关的一些概念
千家信息网最后更新 2026年11月01日如何理解oracle 11g DRM

这期内容当中小编将会给大家带来有关如何理解oracle 11g DRM,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

DRM 简介

首先,我们对和DRM 相关的一些概念进行介绍。
Buffer: 对于RAC 数据库,当一个数据块被读入到buffer cache后,我们就称其为buffer , cache fusion 会将这个buffer作为resource来管理。

Master:在RAC 数据库的世界里,每一个resource都会有一个master实例,这个master实例会在shared pool 中(例如:gcs resource 和ges resource 部分)分配一些空间来存放和这个资源相关的信息,例如:哪一个实例拥有了这个buffer的最新版本,哪一个实例拥有了这个buffer的什么级别的lock等等。并且,负责维护和这个资源的状态。

接下来,我们对RAC 环境中,访问一个buffer的过程进行简单的描述。我们以一个4节点的RAC 数据库为例。注意,我们只会列出比较典型的一种情况,不会把所有可能的情况都一一列出,而且只是把步骤进行了简单的介绍。

步骤1:实例3需要以X(exclusive)方式访问buffer1, 向master实例(1) 发出了请求。
步骤2:master实例(1)发现实例2 以X方式持有buffer1,之后通知实例2释放X lock,并把buffer1发送给实例3。
步骤3: 实例2释放X lock,并把最新版本的buffer1发送给实例3。
步骤4:实例3获得buffer1, 并通知master 实例(1)更新资源buffer1的最新状态。

从上面的步骤,我们不难看出,在RAC 数据库中,当我们访问一个buffer的时候,最多会有3个实例参与其中,master实例,holder(持有者)实例 和requestor(申请者) 实例。2种数据传输会出现,message:用于和lock相关的信息传输,data:用于传输buffer。同时,根据上面的步骤我们也自然会想到,如果master和requestor在同一个实例上,那么就可以减少实例之间message的传输并且访问的代码路径(code path)会更短,从而提高性能,但是每个buffer在被读取到buffer cache时,master节点的选择是随机的。基于这种考虑, oracle从10g开始,推出了一个新特性DRM(Dynamic Resource management)。


DRM的主要功能是,根据一段时间内(默认10分钟),每个实例,对某一个数据库对象的 (10gR1以数据文件为单位)的访问次数和方式,来决定数据库对象对应的buffer应该被mastering 到哪一个实例。在指定时间内,如果某一个实例访问某个数据库对象次数高于其他实例一定倍数(默认50倍),则oracle 会把这个对象所有的buffer的master信息,转移到对应实例(注意:不是转移buffer)。当然,转移的过程是渐进式的。当oracle 决定将一个buffer的master实例确定到本地实例后,会对这个buffer上加上affinity lock,来实现快速的访问。这也是我们经常提到的object affinity 的由来。

接下来,我们对DRM的基本步骤进行介绍。
1. Oracle停止所有在需要进行remastering的buffer上的操作。注意:DRM是渐进的,也就是说以windows 为单位,每次对一部分的buffer 进行remastering 操作。
2. Lmon 通知所有实例,准备进行remastering
3. 在旧的master实例清除对应buffer的master信息
4. 将master信息传递给新的master实例
5. 在新的master实例构建资源的最新状态
6. 结束,并释放所有之前所有步骤占用的资源。

然后,我们对DRM相关的一些参数进行简单的介绍。
_gc_policy_time :单位为分钟,控制DRM统计实例访问buffer次数的时间间隔,默认为是10分钟。
_gc_affinity_ratio:控制进行remastering所需要达到的最小比例(阀值),默认为50。也就是说,如果某个实例在10分钟(_gc_policy_time)之内,访问某个数据库对象的次数大于其他所有实例50倍时(注意:是50倍,而不是50次),对该数据库对象的buffer进行remastering。

注意:请不要修改以上参数的值,除非您很清楚自己在做什么,或者是根据oracle 工程师的建议。

最后,如果您遇到了和DRM相关的问题,建议您查看以下的信息。
1. Lmon,lmd,lms和diag进程的 trace file,来确认问题出现在DRM的哪一步和lms,lmon,lmd进程的状态。
2. AWR 和ASH report,确认那些等待事件持续了很长时间,以及lmon,lms 和lmd的状态。
3. 参照note 1492990.1 获取 DMR 诊断脚本输出。

上述就是小编为大家分享的如何理解oracle 11g DRM了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

实例 数据 数据库 步骤 信息 对象 状态 资源 次数 传输 单位 方式 时间 接下来 也就是 也就是说 内容 参数 建议 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网科技官网 中国 科技 互联网 唐信互联网科技 大连 时间互联网络科技 互联网 新科技 居家互联网科技有限公司 承德科技产业互联网发展 杭州壁岐互联网科技有限公司 玉溪互联网科技怎么选 银川新华互联网科技学校联系电话 卓翼科技产业互联网合作 江苏苏星互联网科技有限公司 广州千川互联网科技有限公司 城市宝互联网科技有限公司 上海互联网科技公司ppt 信承诺互联网科技有限公司 陕西九四连强互联网科技有限公司 兰石爱特工业互联网科技分公司 互联网科技创新方面的资料 赫美联合互联网科技 齐家互联网科技有限公司 深圳互联网科技怎么样 互联网对科技的发展 移动互联网年度科技创新 中天科技中国工业互联网 易企秀互联网科技是做什么的 银川新华互联网科技学校是国营吗 银川新华互联网科技学校原画 绵阳真晨互联网科技有限公司
0