Oracle的DRM - Dynamic Resource Mastering,动态资源Re-Mastering,设计的目的是带来性能提升,但是在不同版本中带来的Bug非常之多,导致了大量的性能问题。
引用Metalink的介绍:
在Oracle的建议中,在10g R1中,建议关闭DRM,通过如下步骤设置初始化参数,重启数据库生效:
alter system set "_gc_undo_affinity"=false scope=spfile sid='*';
alter system set "_gc_affinity_time"=0 scope=spfile sid='*';
可以通过如下三个主要视图来查询DRM的相关统计信息:
X$KJDRMREQ:Dynamic Remastering Requests
X$KJDRMAFNSTATS:File Remastering Statistics
X$KJDRMHVSTATS:Hash Value Statistics
此外,LMD进程负责完成DRM的操作,检查LMD进程的跟踪文件可以找到相关的信息作为诊断参考。
_gc_affinity_time 设置为 0 就禁用了DRM的检测,虽然Oracle建议在Oracle Database 10gR2中启用该参数,但是在10.2.0.4中仍然存在BUG,会导致严重的性能问题,一个Workaround仍然是禁用DRM
引用Metalink的介绍:
When using Real application Clusters (RAC), Each instance has its own SGA and buffer cache. RAC will ensure that these block changes are co-ordinated to maximize performance and to ensure data intergrity. Each copy of the buffer also called as a cache resource has a master which is one of the nodes of the cluster.
In database releases before 10g (10.1.0.2) once a cache resource is mastered on an instance, a re-mastering or a change in the master would take place only during a reconfiguration that would happen automatically during both normal operations like instance startup or instance shutdown or abnormal events like Node eviction by Cluster Manager. So if Node B is the master of a cache resource, this resource will remain mastered on Node B until reconfiguration.
10g introduces a concept of resource remastering via DRM. With DRM a resource can be re-mastered on another node say from Node B to Node A if it is found that the cache resource is accessed more frequently from Node A. A reconfiguration is no longer the only reason for a resource to be re-mastered.
在Oracle的建议中,在10g R1中,建议关闭DRM,通过如下步骤设置初始化参数,重启数据库生效:
alter system set "_gc_undo_affinity"=false scope=spfile sid='*';
alter system set "_gc_affinity_time"=0 scope=spfile sid='*';
可以通过如下三个主要视图来查询DRM的相关统计信息:
X$KJDRMREQ:Dynamic Remastering Requests
X$KJDRMAFNSTATS:File Remastering Statistics
X$KJDRMHVSTATS:Hash Value Statistics
此外,LMD进程负责完成DRM的操作,检查LMD进程的跟踪文件可以找到相关的信息作为诊断参考。
_gc_affinity_time 设置为 0 就禁用了DRM的检测,虽然Oracle建议在Oracle Database 10gR2中启用该参数,但是在10.2.0.4中仍然存在BUG,会导致严重的性能问题,一个Workaround仍然是禁用DRM
| Parameter Name: | _gc_affinity_time | ||
| Description: | if non zero, enable dynamic object affinity | ||
| Type: | NUMBER | Obsoleted: | FALSE |
| Can ALTER SESSION: | FALSE | Can ALTER SYSTEM: | FALSE |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




