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!