Converting standard cluster to flex cluster :-
The steps for converting a standard cluster to a flex cluster. There are two phases to converting a standard cluster to flex cluster. First phase involvesconverting Oracle ASM to Flex ASMand second phase is tochange the cluster mode to flex.
1)Current setup is a two node standard cluster .
[root@india1 bin]# ./crsctl get cluster mode status
Cluster is running in "standard" mode
$ asmcmd
ASMCMD> showclustermode
ASM cluster : Flex mode disabled
2)There are few per-requisites to converting ASM to flex ASM, these include that OCR, SPFile and password file all stored in a disk group and this group have ASM compatibility (COMPATIBLE.ASM) set to 12.1 or higher. If this is not the case then make the necessary changes to move these files to disk group.
[oracle@india1 dbs]$ sqlplus "/ as sysasm"
SQL*Plus: Release 12.1.0.2.0 Production on Sun Dec 18 16:11:50 2016
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> alter diskgroup DATA set attribute 'compatible.asm'='12.1.0.0.0';
Diskgroup altered.
[oracle@india1 dbs]$ orapwd file=+DATA password=oracle entries=10 asm=y
[oracle@india1 dbs]$ cd ..
[oracle@india1 grid]$ cd bin
[oracle@india1 bin]$ ./srvctlconfigasm
ASM home: <CRS home>
Password file: +DATA/ASM/PASSWORD/pwdasm.273.930931931
ASM listener: LISTENER
[oracle@india1 bin]$
3)Another key requirement is that flex cluster requires GNS. If a GNS doesn't existssetup GNSand add the GNS VIP to cluster.
[root@india2 bin]# ./srvctl status gns
GNS is not running.
GNS is enabled.
[root@india2 ~]# cd /u01/12.2.2/grid/bin
[root@india2 bin]# ./srvctl add gns -i 172.17.1.106 -d indiagns.sairam.com
[root@india2 bin]# ./srvctl start gns
[root@india2 bin]# ./srvctl status gns
GNS is running on node india1.
GNS is enabled on node india1.
[root@india2 bin]# ./srvctl configgns -a -l
GNS is enabled.
GNS is listening for DNS server requests on port 53
GNS is using port 5353 to connect to mDNS
GNS status: OK
Domain served by GNS: indiagns.sairam.com
GNS version: 12.1.0.2.0
Globally unique identifier of the cluster where GNS is running: 30dc35e9c650df8cbfd525ea7fdafaf8
Name of the cluster where GNS is running: india-cluster
Cluster type: server.
GNS log level: 1.
GNS listening addresses: tcp://172.17.1.106:23552.
GNS is individually enabled on nodes:
GNS is individually disabled on nodes:
[root@india2 bin]#
[root@india1 bin]# ./srvctlconfiggns
GNS is enabled.
GNS VIP addresses: 172.17.1.106
Domain served by GNS: indiagns.sairam.com
Verify the GNS configuration through cluvfyutility .
[oracle@india1 ~]$ cd /u01/12.2.2/grid/bin
[oracle@india1 bin]$ ./cluvfy comp gns -postcrsinst
Verifying GNS integrity
Checking GNS integrity...
The GNS subdomain name "indiagns.sairam.com" is a valid domain name
Checking if the GNS VIP belongs to same subnet as the public network...
Public network subnets "172.17.1.0" match the GNS VIP "172.17.1.106"
GNS VIP "172.17.1.106" resolves to a valid IP address
GNS resource configuration check passed
GNS VIP resource configuration check passed.
GNS integrity check passed
Verification of GNS integrity was successful.
[oracle@india1 bin]$
4)To start the first phase of converting to flex ASM run asmca and click on ASM instances tab. If role separation is used then make sure grid user has write permission for directory $ORACLE_BASE/cfgtoollogs as the conversion script is generated inside it.
Click convert to Flex ASM button. This would prompt to select a network interface for ASM communication and also to specify a port. The default port is 2222.
Conversion to flex ASM will continue restarting one node at time.
Conversion to flex ASM will continue restarting one node at time.
When prompted execute the script on the same node ASMCA was run.
Output from converttoFlexASM.sh execution :
[root@india1 ~]# /u01/app/oracle/cfgtoollogs/asmca/scripts/converttoFlexASM.sh
CRS-2673: Attempting to stop 'ora.crsd' on 'india1'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'india1'
CRS-2673: Attempting to stop 'ora.gns' on 'india1'
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'india1'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'india1'
CRS-2673: Attempting to stop 'ora.OCRVOTE.dg' on 'india1'
CRS-2677: Stop of 'ora.DATA.dg' on 'india1' succeeded
CRS-2677: Stop of 'ora.OCRVOTE.dg' on 'india1' succeeded
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'india1' succeeded
CRS-2673: Attempting to stop 'ora.india1.vip' on 'india1'
CRS-2677: Stop of 'ora.india1.vip' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.india1.vip' on 'india2'
CRS-2677: Stop of 'ora.gns' on 'india1' succeeded
CRS-2673: Attempting to stop 'ora.gns.vip' on 'india1'
CRS-2676: Start of 'ora.india1.vip' on 'india2' succeeded
CRS-2677: Stop of 'ora.gns.vip' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.gns.vip' on 'india2'
CRS-2676: Start of 'ora.gns.vip' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.gns' on 'india2'
CRS-2676: Start of 'ora.gns' on 'india2' succeeded
CRS-2673: Attempting to stop 'ora.ons' on 'india1'
CRS-2677: Stop of 'ora.ons' on 'india1' succeeded
CRS-2673: Attempting to stop 'ora.net1.network' on 'india1'
CRS-2677: Stop of 'ora.net1.network' on 'india1' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'india1' has completed
CRS-2677: Stop of 'ora.crsd' on 'india1' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on 'india1'
CRS-2673: Attempting to stop 'ora.evmd' on 'india1'
CRS-2673: Attempting to stop 'ora.storage' on 'india1'
CRS-2677: Stop of 'ora.storage' on 'india1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'india1'
CRS-2677: Stop of 'ora.ctssd' on 'india1' succeeded
CRS-2677: Stop of 'ora.evmd' on 'india1' succeeded
CRS-2677: Stop of 'ora.asm' on 'india1' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'india1'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'india1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'india1'
CRS-2677: Stop of 'ora.cssd' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.evmd' on 'india1'
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'india1'
CRS-2676: Start of 'ora.cssdmonitor' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'india1'
CRS-2672: Attempting to start 'ora.diskmon' on 'india1'
CRS-2676: Start of 'ora.diskmon' on 'india1' succeeded
CRS-2676: Start of 'ora.evmd' on 'india1' succeeded
CRS-2676: Start of 'ora.cssd' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on 'india1'
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'india1'
CRS-2676: Start of 'ora.ctssd' on 'india1' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'india1'
CRS-2676: Start of 'ora.asm' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.storage' on 'india1'
CRS-2676: Start of 'ora.storage' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'india1'
CRS-2676: Start of 'ora.crsd' on 'india1' succeeded
Oracle Grid Infrastructure restarted in node india1
PRCC-1014 : ASMNET1LSNR_ASM was already running
PRCR-1004 : Resource ora.ASMNET1LSNR_ASM.lsnr is already running
PRCR-1079 : Failed to start resource ora.ASMNET1LSNR_ASM.lsnr
CRS-5702: Resource 'ora.ASMNET1LSNR_ASM.lsnr' is already running on 'india1'
ASM listener ASMNET1LSNR_ASM running already
CRS-2673: Attempting to stop 'ora.crsd' on 'india2'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'india2'
CRS-2673: Attempting to stop 'ora.cvu' on 'india2'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'india2'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN1.lsnr' on 'india2'
CRS-2673: Attempting to stop 'ora.ASMNET1LSNR_ASM.lsnr' on 'india2'
CRS-2673: Attempting to stop 'ora.OCRVOTE.dg' on 'india2'
CRS-2673: Attempting to stop 'ora.orcl.db' on 'india2'
CRS-2673: Attempting to stop 'ora.mgmtdb' on 'india2'
CRS-2673: Attempting to stop 'ora.oc4j' on 'india2'
CRS-2677: Stop of 'ora.cvu' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.cvu' on 'india1'
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'india2' succeeded
CRS-2673: Attempting to stop 'ora.india2.vip' on 'india2'
CRS-2677: Stop of 'ora.LISTENER_SCAN1.lsnr' on 'india2' succeeded
CRS-2673: Attempting to stop 'ora.scan1.vip' on 'india2'
CRS-2677: Stop of 'ora.ASMNET1LSNR_ASM.lsnr' on 'india2' succeeded
CRS-2677: Stop of 'ora.OCRVOTE.dg' on 'india2' succeeded
CRS-2677: Stop of 'ora.orcl.db' on 'india2' succeeded
CRS-2676: Start of 'ora.cvu' on 'india1' succeeded
CRS-2677: Stop of 'ora.india2.vip' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.india2.vip' on 'india1'
CRS-2677: Stop of 'ora.scan1.vip' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.scan1.vip' on 'india1'
CRS-2677: Stop of 'ora.mgmtdb' on 'india2' succeeded
CRS-2673: Attempting to stop 'ora.MGMTLSNR' on 'india2'
CRS-2677: Stop of 'ora.MGMTLSNR' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.MGMTLSNR' on 'india1'
CRS-2676: Start of 'ora.india2.vip' on 'india1' succeeded
CRS-2673: Attempting to stop 'ora.gns' on 'india2'
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'india2'
CRS-2677: Stop of 'ora.DATA.dg' on 'india2' succeeded
CRS-2676: Start of 'ora.scan1.vip' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.LISTENER_SCAN1.lsnr' on 'india1'
CRS-2677: Stop of 'ora.gns' on 'india2' succeeded
CRS-2673: Attempting to stop 'ora.gns.vip' on 'india2'
CRS-2677: Stop of 'ora.oc4j' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.oc4j' on 'india1'
CRS-2676: Start of 'ora.MGMTLSNR' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.mgmtdb' on 'india1'
CRS-2677: Stop of 'ora.gns.vip' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.gns.vip' on 'india1'
CRS-2676: Start of 'ora.LISTENER_SCAN1.lsnr' on 'india1' succeeded
CRS-2676: Start of 'ora.gns.vip' on 'india1' succeeded
CRS-2672: Attempting to start 'ora.gns' on 'india1'
CRS-2676: Start of 'ora.gns' on 'india1' succeeded
CRS-2676: Start of 'ora.oc4j' on 'india1' succeeded
CRS-2676: Start of 'ora.mgmtdb' on 'india1' succeeded
CRS-2673: Attempting to stop 'ora.ons' on 'india2'
CRS-2677: Stop of 'ora.ons' on 'india2' succeeded
CRS-2673: Attempting to stop 'ora.net1.network' on 'india2'
CRS-2677: Stop of 'ora.net1.network' on 'india2' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'india2' has completed
CRS-2677: Stop of 'ora.crsd' on 'india2' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on 'india2'
CRS-2673: Attempting to stop 'ora.evmd' on 'india2'
CRS-2673: Attempting to stop 'ora.storage' on 'india2'
CRS-2677: Stop of 'ora.storage' on 'india2' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'india2'
CRS-2677: Stop of 'ora.ctssd' on 'india2' succeeded
CRS-2677: Stop of 'ora.evmd' on 'india2' succeeded
CRS-2677: Stop of 'ora.asm' on 'india2' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'india2'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'india2' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'india2'
CRS-2677: Stop of 'ora.cssd' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.evmd' on 'india2'
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'india2'
CRS-2676: Start of 'ora.cssdmonitor' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'india2'
CRS-2672: Attempting to start 'ora.diskmon' on 'india2'
CRS-2676: Start of 'ora.diskmon' on 'india2' succeeded
CRS-2676: Start of 'ora.evmd' on 'india2' succeeded
CRS-2676: Start of 'ora.cssd' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on 'india2'
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'india2'
CRS-2676: Start of 'ora.ctssd' on 'india2' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'india2'
CRS-2676: Start of 'ora.asm' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.storage' on 'india2'
CRS-2676: Start of 'ora.storage' on 'india2' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'india2'
CRS-2676: Start of 'ora.crsd' on 'india2' succeeded
Oracle Grid Infrastructure restarted in node india2
[root@india1 ~]#
End of the conversion the ASMCA will exit and console will have following output
[oracle@india1 bin]$ ./asmca
Unable to establish connection to ASM instance.
ORA-01034: ORACLE not available
ASMCA will exit now.
[oracle@india1 bin]$
This due to the restart of ASM and ASMCA unable to establish the connection. Rerun ASMCA and verify ASM instances are up an running. Notice the convert to flex ASM button is not there anymore.
verify the ASM flex mode with asmcmd
$ asmcmd
ASMCMD> showclustermode
ASM cluster : Flex mode enabled
The second phase is to convert the standard cluster mode to flex. This requires a cluster downtime.
To change the cluster mode to flex as root run the following .
[root@india1 bin]# ./crsctl get cluster mode status
Cluster is running in "standard" mode
[root@india1 bin]# ./crsctl set cluster mode flex
CRS-4933: Cluster mode set to "flex"; restart Oracle High Availability Services on all nodes for cluster to run in "flex" mode.
[root@india1 bin]# ./crsctl stop crs
[root@india1 bin]# ./crsctl start crs
[root@india1 bin]# ./crsctl get cluster mode status
Cluster is running in "flex" mode
[root@india1 bin]# ./crsctl get node role config
Node 'india1' configured role is 'hub'
[root@india1 bin]#