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!!
