Oracle12C支持两种集群模式:Standard和Flex。
11G即是Standard的;Flex是12C的新特性。
当将Standard修改为Flex时,出现如下问题:
# crsctl set cluster mode flex
CRS-4937: Unable to set the cluster mode.
查看官方文档,发现需要配置GNS,Standard模式下不需要GNS,但是Flex模式是需要的。
下面是官方文档(加入翻译)。
1. Run the following command to determine the current mode of the cluster:
确认当前集群模式:
$ crsctl get cluster mode status
2. Run the following command to ensure that the Grid Naming Service (GNS) is configured with a fixed VIP:
确认GNS配置。
$ srvctl config gns
This procedure cannot succeed unless GNS is configured with a fixed VIP. If there is no GNS, then, as root, create one, as follows:
GNS需要配置flexed-VIP的,如果没有配置,需要使用root用户创建一个。
# srvctl add gns -vip vip_name | ip_address
注意:要与集群公网在同一个网段。
Run the following command as root to start GNS:
启动GNS。
# srvctl start gns
3. Use the Oracle Automatic Storage Management Configuration Assistant (ASMCA) to enable Oracle Flex ASM in the cluster before you change the cluster mode.
使用asmca将ASM存储转换为Flex ASM。
4. Run the following command as root to change the mode of the cluster to be an Oracle Flex Cluster:
以root身份,配置集群模式为flex的。
# crsctl set cluster mode flex
5. Stop Oracle Clusterware by running the following command as root on each node in the cluster:
以root身份在一个节点执行停止crs的命令。
# crsctl stop crs
6. Start Oracle Clusterware by running the following command as root on each node in the cluster:
以root身份在一个节点执行启动crs的命令,即重启集群。
# crsctl start crs -wait
Note: Use the -wait option to display progress and status messages.