修改集群的资源属性:
在11g中
使用Crsctl modify resource res_name -attr 命令可以随意添加修改集群的各项资源的属性
来个例子:
查看数据库资源的全部属性:
[grid
@rac1 ~]$ crsctl status res ora.racdb.db -f
有两列这样的内容
GEN_USR_ORA_INST_NAME
@SERVERNAME(rac1)=racdb1
GEN_USR_ORA_INST_NAME
@SERVERNAME(rac2)=racdb2
添加:
[root
@rac1 ~]#
crsctl modify resource ora.racdb.db -attr “GEN_USR_ORA_INST_NAME
@SERVERNAME(rac3)=racdb3”
再次查看:
GEN_USR_ORA_INST_NAME
@SERVERNAME(rac1)=racdb1
GEN_USR_ORA_INST_NAME
@SERVERNAME(rac2)=racdb2
GEN_USR_ORA_INST_NAME
@SERVERNAME(rac3)=racdb3
删除:
[root
@rac1 ~]#
crsctl modify resource ora.racdb.db -attr “GEN_USR_ORA_INST_NAME
@SERVERNAME(rac3)=racdb3” -delete
修改其他属性:
crsctl modify resource ora.racdb.db -attr “STOP_TIMEOUT=700”;
crsctl modify resource ora.racdb.db -attr ‘’SERVICE_NAMES=rac2.neves.com’’
修改集群资源依赖关系:
首先查看数据库资源依赖的其他资源有哪些:
[grid
@rac1 ~]$ crsctl status res ora.racdb.db -f //查看资源的全部属性
修改:
[root
@rac1 ~]#
crsctl modify resource ora.racdb.db -attr “STOP_DEPENDENCIES=hard(intermediate:ora.asm)”;
[grid
@rac1 ~]$ crsctl status res ora.racdb.db -f //查看
stop_dependencies 发生变化。
但是我想使用crsctl modify resource将其修改回来:
[root
@rac1 ~]#
crsctl modify resource ora.racdb.db -attr “STOP_DEPENDENCIES=hard(intermediate:ora.asm,shutdown:ora.DATA.dg)”;
CRS-4228: Value of attribute ‘shutdown:ora.DATA.dg)’ is missing
CRS-4000: Command Modify failed, or completed with errors.
//报错
采用这种方式添加:(这种方式只能修改数据库对磁盘组的依赖项)
— 例如:
结论:
这样就修改成功:
从12.1.0.2以后crsctl modify resource res_name 不再支持,使用需要添加-unsupported子句。
[root
@rac1 ~]# srvctl modify database -d racdb -a “DATA”
// -acfspath “
将在其中设置数据库依赖项的ACFS路径的逗号分隔列表
如果 -a “DATA1,DATA2” 那么数据库依赖的磁盘组就为DATA1 DATA2
//经常使用的场景在于RAC环境下更换DATA盘时,例如现需要将数据文件从DATA盘迁移到NEWDATA盘中,迁移完成后,我们就需要使用该命令来修改数据库对磁盘组的依赖。
在12.1.0.2以后crsctl modify resource res_name 该命令就不再支持了,但是如果我们需要使用,可以添加-unsupported子句
[root
@rac1 ~]#
crsctl modify resource ora.orcl19c.db -attr “GEN_USR_ORA_INST_NAME
@SERVERNAME(rac3)=orcl19c3” -unsupported
[root
@rac1 ~]#
crsctl modify resource ora.orcl19c.db -attr “GEN_USR_ORA_INST_NAME
@SERVERNAME(rac3)=orcl19c3” -delete -unsupported
并且在12.1.0.2后出现一个预估选项
[root
@rac1 ~]#
crsctl eval modify resource ora.ora19c.db -attr “GEN_USR_ORA_INST_NAME
@SERVERNAME(rac3)=orcl19c3” -unsupported
11g中可以使用crsct modify resource res_name -attr 修改资源属性。
但是如果使用该命令修改资源依赖关系stop_dependencies start_dependencies的话,有些可以随意修改成功,有些却无法随意修改成功,会出现
Value of attribute missing的错误。
这样就无法修改:
[root
@rac1 ~]#
crsctl modify resource ora.racdb.db -attr “START_DEPENDENCIES=hard(ora.DATA.dg) pullup(ora.DATA.dg)”