修改集群的资源属性:
--
在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 //查看资源的全部属性
![](http://img.blog.itpub.net/blog/2020/07/22/718689aa4532b905.png?x-oss-process=style/bb)
**修改:**
[root@rac1 ~]#
crsctl modify resource ora.racdb.db -attr "STOP_DEPENDENCIES=hard(intermediate:ora.asm)";
[grid@rac1 ~]$ crsctl status res ora.racdb.db -f //查看
![](http://img.blog.itpub.net/blog/2020/07/22/c626754f9899c903.png?x-oss-process=style/bb)
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.
//报错
采用这种方式添加:(这种方式只能修改数据库对磁盘组的依赖项)
**[root@rac1 ~]# srvctl modify database -d racdb -a "DATA" **
// -acfspath "" Comma separated list of ACFS paths where database's dependency will be set
将在其中设置数据库依赖项的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的错误。
这样就无法修改:
![](http://img.blog.itpub.net/blog/2020/07/22/54d0bf9246c1265b.png?x-oss-process=style/bb)
这样就修改成功:
[root@rac1 ~]#
crsctl modify resource ora.racdb.db -attr "START_DEPENDENCIES=hard(ora.DATA.dg) pullup(ora.DATA.dg)"
![](http://img.blog.itpub.net/blog/2020/07/22/bb1ff8d85bc3fddd.png?x-oss-process=style/bb)
从12.1.0.2以后crsctl modify resource res_name 不再支持,使用需要添加-unsupported子句。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69975956/viewspace-2706355/,如需转载,请注明出处,否则将追究法律责任。