How DRM works in RAC cluster
来源:互联网 发布:dcse tbs软件下载 编辑:程序博客网 时间:2024/05/16 05:12
10g Real Application Clusters introduced a concept of resource remastering via Dynamic Resource Mastering (DRM). With DRM a resource can be re-mastered on another node in the cluster if it is found that the cache resource is accessed more frequently from that node.
With object remastering feature, if an object is accessed by an instance aggressively, then that instance will become the master of the object reducing gc remote grants improving performance of the application. In the prior sentence, I used the word “accessed”, but it is a loose term, and the correct term is if the instance is requesting much BL locks on an object, then that object can be remastered. In an ideal world, even if the application is not partitioned, remastering of the objects that were accessed aggressively from one instance will acquire cheaper local instance affinity locks and effective RAC Tax will be minimal.
In 10G R1 this was file based whereas the 10G R2 it is object based.
In 10G R1 due to a few bugs many related to high CPU usage during the DRM freeze window most customers disabled DRM by setting the following parameters
Parameters, views and internals
parameter _gc_affinity_time=0 (process LCK0 process maintains these object affinity statistics)
parameter _gc_undo_affinity=FALSE
View X$object_affinity_statistics maintains the statistics about objects and OPENs on those objects.
_gc_affinity_time defines the frequency in minutes to check if remastering
is needed.
_gc_affinity_limit defines the number of times a node must access an object
for it to be a DRM candidate it's meaning that _gc_affinity_time controls how often the queue is checked to see if the remastering must be triggered or not with a default value of 10 minutes.
_gc_affinity_minimum defines the minimum number of times an object is accessed per minute before affinity kicks in
The performance problems may manifest themselves in terms of a DRM related wait event like 'gcs drm freeze in enter server mode'
In 10G R2 this feature appears to be more stable.
The remaster_cnt appears to be 0 for all objects. I have got Oracle
to log bug 5649377 on this issue.
SQL> select distinct remaster_cnt from V$GCSPFMASTER_INFO ;
REMASTER_CNT
------------
0
DRM statistics are available in X$KJDRMAFNSTATS
SQL> select * from X$KJDRMAFNSTATS
2 /
ADDR INDX INST_ID DRMS AVG_DRM_TIME OBJECTS_PER_DRM QUISCE_T FRZ_T CLEANUP_T REPLAY_T FIXWRITE_T SYNC_T
-------- ---------- ---------- ---------- ------------ --------------- ---------- ---------- ---------- ---------- ---------- ----------
RES_CLEANED REPLAY_S REPLAY_R MY_OBJECTS
----------- ---------- ---------- ----------
200089CC 0 1 32 214 1 3 14 0 0 0 99
0 2441 6952 30
The column MY_OBJECTS denotes the number of objects mastered on that node.
This should match with the following
SQL> select count(*) from V$GCSPFMASTER_INFO where current_master=0
2 /
COUNT(*)
----------
30
from http://blog.abigold.fr/joomla/index.php?option=com_content&view=article&id=335:rac-10g-102-oracle-rac-gcaffinitytime-gcundoaffinity&catid=118:rac-oracle&Itemid=66- How DRM works in RAC cluster
- How a Server Cluster Works
- How HashMap works in Java
- How ClassLoader Works in Java
- How hashmap works in java
- How HashMap works in Java
- How HashMap works in Java
- How HashMap works in java
- rac drm
- How subscription works in biztalk2004 - Part1
- How postback works in ASP.NET
- How postback works in ASP.NET
- Learn How Google Works: in Gory Detail
- How Scaling Really Works in Apache HBase
- Learn How Google Works: in Gory Detail
- How Scaling Really Works in Apache HBase
- How Virtual Table works in C++
- Java - How Classpath works in Java
- C++常见Error总结
- 单片机电流
- 用JAVA代码获取Weblogic配置的JNDI 数据源连接
- Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和dba角色的区别
- 广州传智播客网页平面设计,风趣教学配备精美课程
- How DRM works in RAC cluster
- Mysql study4
- java二维码工具类,中间带LOGO的,很强大
- Java读取配置文件的三种方式
- Mysql study5
- 数字单片机的技术发展
- 第一天:samba服务器的搭建
- 广州传智播客最给力的Java培训课程
- 测试团队成功适应敏捷的障碍