La documentación de Oracle es clara en cuanto a las restricciones para tener Flex Asm con una base de datos 11.2.0.4 (que es nuestro caso):
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 |
Pues bien, vamos a explicar como saltarnos esta restricción.
El matiz es… tenerla montada sobre acfs. 🙂
Nuestra base de datos:
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
Nuestro 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
Lanzamos una carga de más de 300.000TPMs con la herramienta swingbench sobre la máquina.
Matamos el asm:
[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
El alert de la instancia sobre acfs ni se inmuta:
[vacío]
y el alert del crs lo único que muestra es:
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"
Pero para nuestros servicios y base de datos, todo sigue igual:
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
Incluso paramos con un abort, y force, el asm del nodo y todo sigue funcionando:
[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 -------------------------------------------------------------------------------
Ahora ya tienes una razón más para migrar a ACFS 😉
No olvidéis otra razón de igual peso… “snapshots” de nuestras bases de datos en caliente para backups y para montar entornos de test/desarrollo en minutos!!.
Recomendamos el uso de la herramienta gDBClone.
Sumando con Arumel!!