The Oracle’s documentation is pretty clear regarding restrictions when using Flex Asm with databases:
Table 4-4 Oracle ASM features enabled by disk group compatibility attribute settings
| Disk Group Features Enabled | COMPATIBLE.ASM | COMPATIBLE.RDBMS | COMPATIBLE.ADVM |
|---|---|---|---|
| Oracle ASM flex and extended disk groups | >= 12.2 | >= 12.2 | n/a |
Well, we are going to explain how to avoid this restriction.
The point is… to have it running on Acfs. 🙂
The database:
SYS@test11g1> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.0 - Production CORE 11.2.0.4.0 Production TNS for Linux: Version 11.2.0.4.0 - Production NLSRTL Version 11.2.0.4.0 - Production [oracle@node1 ~]$ srvctl config database -d test11g Database unique name: test11g Database name: test11g Oracle home: /u01/app/oracle/product/11.2.0.4/dbhome_1 Oracle user: oracle Spfile: /acfs/prodata/TEST11G/spfiletest11g.ora Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: test11g Database instances: test11g3,test11g1,test11g2 Disk Groups: Mount point paths: /acfs/proctlrdo,/acfs/prodata,/acfs/profra Services: pruebas Type: RAC Database is administrator managed
The diskgroups:
[grid@ctbl109 ~]$ asmcmd lsattr -lm compatible.asm Group_Name Name Value RO Sys MGMTDB compatible.asm 12.2.0.1.0 N Y PROADMIN compatible.asm 12.2.0.1.0 N Y PROCTLRDO compatible.asm 12.2.0.1.0 N Y PRODATA compatible.asm 12.2.0.1.0 N Y PROFRA compatible.asm 12.2.0.1.0 N Y PROVOTOCR compatible.asm 12.2.0.1.0 N Y
The cluster:
[grid@node1 ~]$ crsctl get cluster mode status Cluster is running in "flex" mode [grid@node1 ~]$ asmcmd showclustermode ASM cluster : Flex mode enabled [grid@node1 ~]$ srvctl config asm ASM home: <CRS home> Password file: +PROVOTOCR/orapwASM Backup of Password file: ASM listener: LISTENER ASM instance count: ALL Cluster ASM listener: ASMNET1LSNR_ASM,ASMNET2LSNR_ASM
We launch more than 300.000TPMs with the tool swingbench on the machine:
We kill the Asm on the machine:
[grid@node1 ~]$ ps -ef |grep pmon grid 14164 1 0 13:16 ? 00:00:00 apx_pmon_+APX1 oracle 106603 1 0 15:57 ? 00:00:01 ora_pmon_test11g1 grid 157454 1 0 17:20 ? 00:00:00 asm_pmon_+ASM1 grid 189193 135315 0 18:13 pts/0 00:00:00 grep --color=auto pmon [grid@node1 ~]$ date; kill -9 157454 Wed Jul 12 18:14:19 CEST 2017 [grid@node1 ~]$ ps -ef |grep pmon grid 14164 1 0 13:16 ? 00:00:00 apx_pmon_+APX1 oracle 106603 1 0 15:57 ? 00:00:01 ora_pmon_test11g1 grid 189529 1 0 18:14 ? 00:00:00 asm_pmon_+ASM1 grid 189595 135315 0 18:14 pts/0 00:00:00 grep --color=auto pmon
The instance’s alert on Acfs doesn’t realize, it continues working…
The cluster’s alert the only thing it shows:
2017-07-12 18:14:20.030 [ORAAGENT(12204)]CRS-5011: Fallo al comprobar el recurso "ora.asm": Detalles en "(:CLSN00006:)" en "/u01/app/grid/diag/crs/ctbl109/crs/trace/crsd_oraagent_grid.trc" 2017-07-12 18:14:20.107 [ORAAGENT(12204)]CRS-5011: Fallo al comprobar el recurso "ora.asm": Detalles en "(:CLSN00006:)" en "/u01/app/grid/diag/crs/ctbl109/crs/trace/crsd_oraagent_grid.trc"
But the services and databases depending on Asm are running without stop:
ora.test11g.db
1 ONLINE ONLINE node1 Open,HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1,STABLE
2 ONLINE ONLINE node2 Open,HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1,STABLE
3 ONLINE ONLINE node3 Open,HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1,STABLE
ora.test11g.pruebas.svc
1 ONLINE ONLINE node1 STABLE
2 ONLINE ONLINE node2 STABLE
3 ONLINE ONLINE node3 STABLE
Even if we stop with abort and force the Asm on the node, everything is ok:
[grid@node1 ~]$ srvctl stop asm -n node1 -stopoption ABORT -force
[grid@node3 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.ASMNET2LSNR_ASM.lsnr
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.MGMTDB.dg
ONLINE ONLINE node3 STABLE
OFFLINE OFFLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.PROADMIN.VPROADMIN.advm
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.PROADMIN.VPROADMINXP.advm
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.PROADMIN.dg
ONLINE ONLINE node3 STABLE
OFFLINE OFFLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.PROCTLRDO.VPROCTLRDO.advm
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.PROCTLRDO.dg
ONLINE ONLINE node3 STABLE
OFFLINE OFFLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.PRODATA.VPRODATA.advm
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.PRODATA.dg
ONLINE ONLINE node3 STABLE
OFFLINE OFFLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.PROFRA.VPROFRA.advm
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.PROFRA.dg
ONLINE ONLINE node3 STABLE
OFFLINE OFFLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.PROVOTOCR.dg
ONLINE ONLINE node3 STABLE
OFFLINE OFFLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.chad
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.net1.network
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.ons
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
ora.proadmin.vproadmin.acfs
ONLINE ONLINE node3 mounted on /acfs/proadmin,STABLE
ONLINE ONLINE node1 mounted on /acfs/proadmin,STABLE
ONLINE ONLINE node2 mounted on /acfs/proadmin,STABLE
ora.proadmin.vproadminxp.acfs
ONLINE ONLINE node3 mounted on /acfs/proexpdp,STABLE
ONLINE ONLINE node1 mounted on /acfs/proexpdp,STABLE
ONLINE ONLINE node2 mounted on /acfs/proexpdp,STABLE
ora.proctlrdo.vproctlrdo.acfs
ONLINE ONLINE node3 mounted on /acfs/proctlrdo,STABLE
ONLINE ONLINE node1 mounted on /acfs/proctlrdo,STABLE
ONLINE ONLINE node2 mounted on /acfs/proctlrdo,STABLE
ora.prodata.vprodata.acfs
ONLINE ONLINE node3 mounted on /acfs/prodata,STABLE
ONLINE ONLINE node1 mounted on /acfs/prodata,STABLE
ONLINE ONLINE node2 mounted on /acfs/prodata,STABLE
ora.profra.vprofra.acfs
ONLINE ONLINE node3 mounted on /acfs/profra,STABLE
ONLINE ONLINE node1 mounted on /acfs/profra,STABLE
ONLINE ONLINE node2 mounted on /acfs/profra,STABLE
ora.proxy_advm
ONLINE ONLINE node3 STABLE
ONLINE ONLINE node1 STABLE
ONLINE ONLINE node2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE node3 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE node1 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE node2 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE node2 169.254.15.171 10.2.7.123 10.2.8.123,STABLE
ora.asm
1 OFFLINE OFFLINE Instance Shutdown,STABLE
2 ONLINE ONLINE node2 Started,STABLE
3 ONLINE ONLINE node3 Started,STABLE
ora.node3.vip
1 ONLINE ONLINE node3 STABLE
ora.node1.vip
1 ONLINE ONLINE node1 STABLE
ora.node2.vip
1 ONLINE ONLINE node2 STABLE
ora.cvu
1 ONLINE ONLINE node2 STABLE
ora.mgmtdb
1 ONLINE ONLINE node2 Open,STABLE
ora.qosmserver
1 ONLINE ONLINE node2 STABLE
ora.scan1.vip
1 ONLINE ONLINE node3 STABLE
ora.scan2.vip
1 ONLINE ONLINE node1 STABLE
ora.scan3.vip
1 ONLINE ONLINE node2 STABLE
ora.test11g.db
1 ONLINE ONLINE node1 Open,HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1,STABLE
2 ONLINE ONLINE node2 Open,HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1,STABLE
3 ONLINE ONLINE node3 Open,HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1,STABLE
ora.test11g.pruebas.svc
1 ONLINE ONLINE node1 STABLE
2 ONLINE ONLINE node2 STABLE
3 ONLINE ONLINE node3 STABLE
-------------------------------------------------------------------------------
Now, you have another reason to migrate to Acfs 😉
You don’t forget another main reason which is the “snapshot” of our databases for backups and prepare test environments in minutes!!.
We recommend the use of the tool gDBClone.
Adding value with Arumel!!

Sergio buen articulo!