Today we are going to have a look on converting a standard cluster to flex cluster. I wish this information is useful for you.Oracle Flex Clusters contribute a platform for Oracle Real Application Clusters databases with stupendous numbers of nodes, to support massive parallel query operations. Oracle Flex Clusters also provide a platform for other service deployments that demand coordination and automation for high availability.

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. The first phase involves converting Oracle ASM to Flex ASM and second phase is to change the cluster mode to flex.

  • 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
  • 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]$ ./srvctl config asm

ASM home: <CRS home>

Password file: +DATA/ASM/PASSWORD/pwdasm.273.930931931

ASM listener: LISTENER

[oracle@india1 bin]$

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 a 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. Re-run 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

Hope this article will help you. In the next article we will show how to convert Standard Cluster to Flex Cluster in Oracle RAC.