在Oracle RAC中,每个实例均存在一个数据缓存池,每个block的改变都将实例间进行资源协调以获取最大化性能,从而保证数据的完整性。
在RAC集群中,每个被缓存的数据copy,也叫做缓存资源,均存在一个叫做master节点的实例。
在10.1.0.2中,一旦一个cache resource被master一个实例节点,
对缓存资源的重新remaster或者说master节点的自动改变仅仅会发生在RAC实例节点的正常启停或者集群管理资源间的非正常问题发生。
也就是说,如果NODE B是一个缓存资源的master节点,这个资源将被一直master到NODE B直到发生RAC节点的重新配置操作。
在oracle 10g中引进一个新的资源remaster概念叫做DRM(Dynamic Resource management [ID 390483.1]),通过DRM,RAC实例节点的重新配置
已经不再是cache资源被重新remaster的因素,如果cache resource被节点A频繁访问,一个资源可以从NODE B remaster到NODE A。
其他的一些概念如下:
In 10gR1 DRM is driven by affinity of files and in 10gR2 it is based on objects.
DRM attributes are intentionally undocumented since they may change depending on the version. These attributes should not be changed without discussing with Support.
Two instance will not start a DRM operation at the same time however lmd,lms,lmon processes from all instances collectively take part in the DRM operation.
Normal activity on the database is not affected due to DRM. This means users continue insert/update/delete operations without any interruptions. Also DRM operations complete very quickly.
DRM many cause" latch: cache buffers chains" and "latch: object queue header operation " wait event, you can go throught this way to disable DRM:
_gc_affinity_time=0
_gc_undo_affinity=FALSE
also, you can used another two implicit parameters dynamic change
_gc_affinity_limit=10000000
_gc_affinity_minimum=10000000
如上的值可以根据实际要求改变。