ORACLE CRS的某些资源之间存在着依赖关系,有一些依赖关系是必须的,但是有些依赖关系在某种情况下却会导致数据库不正常。本文介绍如何查看各个资源间的依赖关系,以及如何取消这种依赖关系。
如果要查看crs资源的依赖关系,可以使用crs_stat -p [resource_name]来查看,如:
crs_stat -p LISTENER_UNMPGZCEIS21.lsnrNAME=ora.unmpgzceis21.
LISTENER_UNMPGZCEIS21.lsn //resource nameTYPE=application
ACTION_SCRIPT=/oracle/app/oracle/product/10.2.0/bin/racgwrap
......
OPTIONAL_RESOURCES=
PLACEMENT=restricted
REQUIRED_RESOURCES=ora.unmpgzceis21.vipRESTART_ATTEMPTS=5
SCRIPT_TIMEOUT=600
START_TIMEOUT=0
STOP_TIMEOUT=0
......
在本例中,可以看到listener是依赖于vip的,如果出现vip切换的情况,则该节点的监听就会自动offline.
在oracle10g的10.2.0.1, 10.2.0.2, 10.2.0.3 几个版本中,曾经出现过的几种依赖关系:
资源 依赖于 资源
listener -> vip
db -> asm
db -> asm, vip
asm -> vip
其中,listener -> vip, db -> asm这两种依赖关系是必须的,而在10.2.0.3版本前,曾经出现过asm,db都依赖于VIP,这种设置相当不合理,只要vip进行切换,就会导致db和asm都宕掉。对于这种情况,我们可以取消这种依赖关系:
步骤如下:
1. 使用crs_stat 查看要更改的资源的名称
2. crs_stat -p
> /tmp/.cap
3. 更改生成的cap文件,把REQUIRED_RESOURCES后的resource name删除
4. 重新注册crs_register -u -dir /tmp
5. 使用crs_stat -p进行检查
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/786749/viewspace-517492/
,如需转载,请注明出处,否则将追究法律责任。