代码改变世界

如何修改11g RAC集群名称

2021-03-28 23:22  AlfredZhao  阅读(483)  评论(0编辑  收藏  举报

背景:有一套11.2.0.4 RAC集群的环境,为了测试DG,直接复制了一套一模一样的环境,修改过IP之后,依然有问题,无法同时启动。
初步判断是因为在同一子网存在两个同名的集群(都是jystdrac),需要对其中一个集群进行修改(例如修改为jyrac)。
RAC修改集群名字还比较麻烦,可参考MOS文章:

  • How to Change the Cluster Name in RAC (Requires -deconfig and (re)-config of Grid Infrastructure) (Doc ID 1967916.1)
  • How to Configure or Re-configure Grid Infrastructure With config.sh/config.bat (Doc ID 1354258.1)

因为RAC集群名称是在GI安装时定义的,存储在每个节点的 gpnp 配置文件和 OLR 中。
查询当前集群名称:

$GRID_HOME/bin/olsnodes -c

没有单个命令可以直接来重命名群集名称。但可以通过以下步骤更改集群名:

1.使用root用户在所有远程节点执行以下命令:

# <$GRID_HOME>/crs/install/rootcrs.pl -deconfig -force -verbose

2.一旦上述命令在所有远程节点上完成,请在本地节点上执行以下命令(请确保 OCR/Votedisk位于与数据库相关文件相比的单独磁盘组中,对于 11.2.0.3.2 GI PSU 或更高,可使用 -keepdg 选项,请参阅注 1377349.1):

# <$GRID_HOME>/crs/install/rootcrs.pl -deconfig -force -verbose -lastnode

3.通过运行 $GRID_HOME/crs/config/config.sh 重新配置和更改"群集名称",请参阅注释 1354258.1 了解详细信息

使用图形界面,重新配置集群:

注:期间OCR需要重新选择配置,集群名称修改后,对应hosts中scan的名字也需要对应修改(例如集群名称是jyrac,scan名字对应为jyrac-scan)。

4.按每个节点上的提示运行 root.sh 以完成配置

[root@jystdrac1 ~]# /opt/app/11.2.0/grid/root.sh
[root@jystdrac2 ~]# /opt/app/11.2.0/grid/root.sh

5.验证集群名称是否修改成功

$GRID_HOME/bin/olsnodes -c

修改成功:

[grid@jystdrac1 ~]$ $GRID_HOME/bin/olsnodes -c
jyrac

重新开启两个集群,可以同时正常运行。