Sep 22, 2017 1:21:27 PM by Skant Gupta
Prior to the Oracle Database 12c release, every node in a cluster used to run an ASM (Automatic Storage Management) instance and if an ASM instance failed on any node, then the database would become unavailable on that node. Let’s see how things are different with Flex ASM:
In this article I will show you how to convert Standard ASM to Flex ASM using the command line interface. The main advantage of using the CLI to convert to Flex ASM is that it is a faster method than using the GUI. Moreover, many of the big enterprises don’t have access to GUI Mode, there we need to learn CLI method as well.
To do this, you must have your ASM configured in Oracle 12c or prior. You can check this using the following commands:
[grid@cloud-rac1 ~]$ asmcmd showclustermode
ASM cluster : Flex mode disabled
[grid@cloud-rac1 ~]$ asmcmd showclusterstate
Normal
[grid@cloud-rac1 ~]$ asmcmd showversion
ASM version : 12.1.0.2.0
[grid@cloud-rac1 ~]$ srvctl config asm
ASM home: <CRS home>
Password file: +DATA/orapwASM
ASM listener: LISTENER
If you are in that state, then you can proceed with the commands below.
We need to know the name of network adapter.
[grid@cloud-rac1 ~]$ ifconfig -a
eth0 Link encap:Ethernet HWaddr C6:B0:BA:B1:B8:BA
inet addr:10.196.187.2 Bcast:10.196.187.3 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1
RX packets:826898 errors:0 dropped:0 overruns:0 frame:0
TX packets:799778 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:653232940 (622.9 MiB) TX bytes:522017847 (497.8 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:229283 errors:0 dropped:0 overruns:0 frame:0
TX packets:229283 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:110916998 (105.7 MiB) TX bytes:110916998 (105.7 MiB)
As we check, eth0 has public interconnect without asm.
[grid@cloud-rac1 ~]$ oifcfg getif
eth0 * global cluster_interconnect,public
Now we invoke asmca in silent mode with the following set of parameters.
[grid@cloud-rac1 ~]$ asmca -silent -convertToFlexASM -asmNetworks eth0/10.196.187.0 -asmListenerPort 1521
To complete ASM conversion, run the following script as privileged user onthe node where you raised ASMCA with the root user; this node is called the "local node".
/u01/app/grid/cfgtoollogs/asmca/scripts/converttoFlexASM.sh
[opc@cloud-rac1 ~]$ sudo su - root
[root@cloud-rac1 ~]# /u01/app/grid/cfgtoollogs/asmca/scripts/converttoFlexASM.sh
CRS-2673: Attempting to stop 'ora.crsd' on 'cloud-rac1'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.testrac.db' on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.REDO.dg' on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.cvu' on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN1.lsnr' on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.FRA.dg' on 'cloud-rac1'
CRS-2677: Stop of 'ora.cvu' on 'cloud-rac1' succeeded
CRS-2672: Attempting to start 'ora.cvu' on 'cloud-rac2'
CRS-2677: Stop of 'ora.REDO.dg' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.DATA.dg' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.FRA.dg' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.LISTENER_SCAN1.lsnr' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.scan1.vip' on 'cloud-rac1'
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.cloud-rac1.vip' on 'cloud-rac1'
CRS-2677: Stop of 'ora.scan1.vip' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.cloud-rac1.vip' on 'cloud-rac1' succeeded
CRS-2676: Start of 'ora.cvu' on 'cloud-rac2' succeeded
CRS-2677: Stop of 'ora.testrac.db' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.data.data.acfs' on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.fra.fra.acfs' on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.redo.redo.acfs' on 'cloud-rac1'
CRS-2677: Stop of 'ora.redo.redo.acfs' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.REDO.REDO.advm' on 'cloud-rac1'
CRS-2677: Stop of 'ora.REDO.REDO.advm' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.data.data.acfs' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.redo.redo.acfs' on 'cloud-rac1'
CRS-2677: Stop of 'ora.redo.redo.acfs' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.REDO.REDO.advm' on 'cloud-rac1'
CRS-2677: Stop of 'ora.REDO.REDO.advm' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.data.data.acfs' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.redo.redo.acfs' on 'cloud-rac1'
CRS-2677: Stop of 'ora.redo.redo.acfs' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.REDO.REDO.advm' on 'cloud-rac1'
CRS-2677: Stop of 'ora.REDO.REDO.advm' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.data.data.acfs' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.redo.redo.acfs' on 'cloud-rac1'
CRS-2677: Stop of 'ora.redo.redo.acfs' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.REDO.REDO.advm' on 'cloud-rac1'
CRS-2677: Stop of 'ora.REDO.REDO.advm' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.data.data.acfs' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.DATA.DATA.advm' on 'cloud-rac1'
CRS-2677: Stop of 'ora.DATA.DATA.advm' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.fra.fra.acfs' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.FRA.FRA.advm' on 'cloud-rac1'
CRS-2677: Stop of 'ora.FRA.FRA.advm' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.ons' on 'cloud-rac1'
CRS-2677: Stop of 'ora.ons' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.net1.network' on 'cloud-rac1'
CRS-2677: Stop of 'ora.net1.network' on 'cloud-rac1' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'cloud-rac1' has completed
CRS-2677: Stop of 'ora.crsd' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.evmd' on 'cloud-rac1'
CRS-2673: Attempting to stop 'ora.storage' on 'cloud-rac1'
CRS-2677: Stop of 'ora.storage' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'cloud-rac1'
CRS-2677: Stop of 'ora.ctssd' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.evmd' on 'cloud-rac1' succeeded
CRS-2677: Stop of 'ora.asm' on 'cloud-rac1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'cloud-rac1'
CRS-2677: Stop of 'ora.cssd' on 'cloud-rac1' succeeded
CRS-2672: Attempting to start 'ora.evmd' on 'cloud-rac1'
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'cloud-rac1'
CRS-2676: Start of 'ora.cssdmonitor' on 'cloud-rac1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'cloud-rac1'
CRS-2672: Attempting to start 'ora.diskmon' on 'cloud-rac1'
CRS-2676: Start of 'ora.diskmon' on 'cloud-rac1' succeeded
CRS-2676: Start of 'ora.evmd' on 'cloud-rac1' succeeded
CRS-2676: Start of 'ora.cssd' on 'cloud-rac1' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on 'cloud-rac1'
CRS-2676: Start of 'ora.ctssd' on 'cloud-rac1' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'cloud-rac1'
CRS-2676: Start of 'ora.ctssd' on 'cloud-rac1' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'cloud-rac1'
CRS-2676: Start of 'ora.asm' on 'cloud-rac1' succeeded
CRS-2672: Attempting to start 'ora.storage' on 'cloud-rac1'
CRS-2676: Start of 'ora.storage' on 'cloud-rac1' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'cloud-rac1'
CRS-2676: Start of 'ora.crsd' on 'cloud-rac1' succeeded
Oracle Grid Infrastructure restarted in node cloud-rac1
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 'cloud-rac1'
CRS-5702: Resource 'ora.ASMNET1LSNR_ASM.lsnr' is already running on 'cloud-rac2'
ASM listener ASMNET1LSNR_ASM running already
CRS-4405: The following nodes are unknown to Oracle High Availability Services:
cloud-rac2
CRS-4405: The following nodes are unknown to Oracle High Availability Services:
cloud-rac2
Oracle Grid Infrastructure restarted in node cloud-rac2
After completion of the script, you must verify the cluster mode.
[grid@cloud-rac1 ~]$ asmcmd showclustermode
ASM cluster : Flex mode enabled
[grid@cloud-rac1 ~]$ asmcmd showversion
ASM version : 12.1.0.2.0
[grid@cloud-rac1 ~]$ srvctl config asm
ASM home: <CRS home>
Password file: +DATA/orapwASM
ASM listener: LISTENER
ASM instance count: ALL
Cluster ASM listener: ASMNET1LSNR_ASM
[grid@cloud-rac1 ~]$
As we see now eth0 is also connected with asm listener.
[grid@cloud-rac1 ~]$ oifcfg getif
eth0 * global cluster_interconnect,public
eth0 10.196.187.0 global asm
As you can see, it is easy to convert Standard ASM to Flex ASM in Oracle 12c. Once you’ve converted to Flex ASM you don’t need worry about ASM failure on any node. And, you don’t need to be in GUI mode for this conversion.
Tags: Oracle
Written by Skant Gupta
Skant Gupta is an Oracle Certified Cloud Professional in Oracle Database 12c, an Oracle Certified Expert in Oracle Real Application Clusters (Oracle RAC) in Oracle Database 11g and 12c, and an Oracle Exadata Certified and an Oracle Certified Professional in Oracle Database 10g, 11g, and 12c. He works at Vodafone Technology in the UK and formerly worked as a senior DBA at Etisalat in Dubai. He has six years of experience with various Oracle technologies, focusing mainly on Cloud, database, and high availability solutions, Oracle WebLogic Suite, Oracle Exadata and Oracle GoldenGate. He has presented at several Oracle user groups worldwide, most recently in the US, the United Arab Emirates, and the India. He is also Technical Writer on http://www.oracle.com/technetwork/es/articles/index.html and http://www.oracle.com/technetwork/pt/articles/index.html with more than 30 article published in Oracle Technical Network.
We use cookies to improve your experience with our site. By continuing to use this site, you consent to our use of cookies. Learn more.