[TIP]Desplegar Software Oracle RDBMS en Exadata BM/VM

Raul Molina

#14 Mayo 2025 #OracleACEPRO #OracleTipsSV

El Despliegue de Software Oracle RDBMS en un cluster en Exadata es un tanto diferente,  no significa que no se pueda hacer de la forma tradicional, pero la documentación indica el método con despliegue de software controlado,.

Existe un Software  de despliegue llamado OEDACLI, cada cierto tiempo se actualiza la versión como ocurre con el orachk ( ahora AHF), o para sistemas de Ingenieroa EXACHK.

La nota de la herramienta es: Engineered Systems : Exadata Onecommand Releases (Doc ID 2257907.1)

También conocido en la documentación como OneCommand Tool.

Hay que conocer la estructura de los clusters que forman parte de mi exadata, si es BM o VM, etc, etc, esta información está en un manifiesto en XML usualmente en la ruta del OneCommand con que se desplegó orginalmente el exadata( Usualmente /EXAVMIMAGES/joc/linux).

Para mi ejemplo:

Vamos a suponer que tenemos un cluster con nombre cluster1, que ya tiene un DBHOME desplegado.

DBVERSION=19.3.0.0.190416

/EXAVMIMAGES/joc/linux/WorkDir/linuxamd64_12102_database_1of2.zip 

./oedacli
oedacli> load file name=ClienteXX-exa00-cluster1.xml
SUCCESS – file loaded OK
Customer : CLIENTENAME – AK00585677

Listamos los DB OracleHomes que ya tenemos desplegados:


oedacli> list databasehomes
version : “CloneInstall”
cluster :
id : “Cluster-c1eda23c2-b409-8043-d268-2ef6a753cf91_id”
databaseHomeName : “DbHome_4”
databaseSwOwner : “33c3048e-f429-08a4-c88c-86087ced123c”
databaseVersion : “12.2.0.1.191015”
databaseHomeLoc : “/u01/app/oracle/product/12.2.0.1/dbhome_1”
inventoryLocation : “/u01/app/oraInventory”
installType : “rac_database”
language : “all_langs”
machines :
machine :
domainGroup :
machine :
id : “exa00compute01_Cluster-c1eda23c2-b409-8043-d268-2ef6a753cf91_vm01_id”
domainGroup :
machine :
id : “exa00compute02_Cluster-c1eda23c2-b409-8043-d268-2ef6a753cf91_vm01_id”
patches :
patch :
patchNumber : “30116802”
basedir : “/u01/app/oracle”
id : “DbHome_9b5a5b28-4934-4c5a-2d72-c0f5a0171ae3_id”

Ahora agregamos, 4 comandos componen toda tarea en OEDACLI, el comando en si,

save action, merge actions y deploy actons

oedacli> ADD DATABASEHOME OWNER=oracle DBVERSION=19.3.0.0.190416 DBHOMELOC=/u01/app/oracle/product/19.0.0.0/dbhome_1 where CLUSTERNAME=cluster1
oedacli> save acation
ERROR >——-^
Command did not Parse OK
BAD : acation
oedacli> save action
oedacli> merge actions
processMerge
processMergeActions
Merging Action : ADD DATABASEHOME OWNER=oracle DBVERSION=19.3.0.0.190416 DBHOMELOC=/u01/app/oracle/product/19.0.0.0/dbhome_1 where CLUSTERNAME=cluster1
Merging ADD DATABASEHOME
Action Validated and Merged OK
oedacli> deploy actions
Deploying Action ID : 1 ADD DATABASEHOME OWNER=oracle DBVERSION=19.3.0.0.190416 DBHOMELOC=/u01/app/oracle/product/19.0.0.0/dbhome_1 where CLUSTERNAME=cluster1
Deploying ADD DATABASEHOME
Validating Oracle Home..
Checking to see if /u01/app/oracle/product/19.0.0.0/dbhome_1 is already mounted
Validating kvmutils rpm..
Validating required files…
Extracting files..
Copying files…
SUCCESS: Target Database Home /u01/app/oracle/product/19.0.0.0/dbhome_1 is not already mounted.
SUCCESS: Local file db-klone-Linux-x86-64-19000190416.zip is successfully copied to celda01.promnet.com.sv as user root to /EXAVMIMAGES/ as db-klone-Linux-x86-64-19000190416.zip
SUCCESS: Local file db-klone-Linux-x86-64-19000190416.zip is successfully copied to celda02.promnet.com.sv as user root to /EXAVMIMAGES/ as db-klone-Linux-x86-64-19000190416.zip
Validations completed successfully.
Creating new disk image file..
Attaching disk image to Virtual Machine exa0001nodo2.promnet.com.sv
Attaching disk image to Virtual Machine exa0002nodo2.promnet.com.sv
Completed setting up additional Oracle Home on Cluster cluster1
Configuring database home software, database home CliDbHome_0
Relinking database software..
Completed configuration of database home software [/u01/app/oracle/product/19.0.0.0/dbhome_1] on Cluster cluster1
Done…
Done
oedacli>
oedacli>
oedacli>

Después de esta operación el OH RDBMS habría sido desplegado en los clusters de BD que para el caso son KVM Guest en el Exadata DAtabase Machine en todos los nodos que componente el cluster.

La documentación utilizada oficial:

https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/add-databasehome.html

Oracle Database Dataguard: Failover Puedo retornar rapido?

#OracleACE #OracleTIPSSV #30/04/2025 #RaulMolina

Una operación muy valorada en casos de emergencia que Dataguard nos brinda es el Failover.

Primero refresquemos las actividades y operaciones de cambio de ROL que permite Oracle Dataguard, (A veces usan la palabra Conmutación)

Switchover y Failover

En el Switchover, el cambio o transición de rol es de forma controlada, no hay perdida de datos y puede ser reversible mas fácil que en el Failover.

No hay perdida de datos porque el motor espera hacer permanente la ultima transacción posible y luego desencadena la acción.

Como la imagen muestra el estado antes

El estado después, de forma controlada, esto permite ventajas en caso de mantenimientos de sitio sin impactar aplicaciones 0 o nada, de forma transparente, obvio depende como se hayan configurado las capas de aplicación, por lo cual se sugiere usar la Guia de Oracle para configuración de FailOver Client Connectivity.( https://www.oracle.com/technetwork/database/availability/client-failover-2280805.pdf).

Para el caso del Failover, el cambio o transición de sitio no es controlado, o casi nunca es por un evento controlado.

En este caso puede desencadenarse automáticamente usando Fast Start Failover o de forma manual.

De forma manual , puede realizarse con la BD Primaria encendida y funcionando (lo cual no es nada recomendable, pero en este escenario es el que demostraremos en este articulo), o con el sitio primario sin poder operar.

Vamos a usar el Dataguard Broker, uno de los tools mas usados y que mas me gusta después del SQLPLUS obviamente.

La documentación del broker esta disponible públicamente en:

https://docs.oracle.com/en/database/oracle/oracle-database/19/dgbkr/using-data-guard-broker-to-manage-switchovers-failovers.html#GUID-89BF9FC5-1E3F-4C0B-90CB-AF4B39B5245E

Como sabemos después de un failover, la EX BD primaria queda inoperante o por lo menos no quedara con la versión mas fresca o reciente de los datos, porque en la lógica de operación las Apps se conectaran al sitio remoto con la EX Standby ahora Primaria.; esto significa que se debería volver a hacer un backup de la nueva primaria, trasladarse al sitio remoto y realizar todos los pasos que el dataguard exige.

Pero el enfoque del articulo es una forma de que la Ex primaria pueda “re” incorporarse

Validamos que cumplimos el primer y quiza único requisito para facilitar el “Re”ensamblaje de la Base de Datos primaria( esto en la documentacion le llaman REINSTATE).

Tener activado el Flashback Database en ambos sitios.

Valga el comercial, recuerden pueden montar todo tipo de laboratorios en OCI Always FREE, los primeros 30 días se poseen 300 USD de saldo para utilizarse.

La Nota de MOS indica el paso tambien para reinstanciar la Ex Primaria como Nueva replica.

Step by Step Guide on How To Reinstate Failed Primary Database into Physical Standby (Doc ID 738642.1)

Primer paso validamos la configuración, para nuestro escenario la primaria se encuentra ejecutándose con normalidad.

Validamos el GAP y es 0

Verificamos la replica si se encuentra lista para Switchover y failover y nos informa que si, inclusive nos avisa que el failover se puede, pero que la primaria esta ejecutandose.

Realizamos el failover manual de forma satisfactoria, para nuestro caso la Nueva Ex primaria no se apaga, debemos apagarla manual, yo hice un shut abort.

La nueva Primaria esta lista para brindar servicio y admitir conexiones.

El broker nos indica que la ex primaria necesita ser reinstanciada.

y es deshabilitada de la configuración, en este momento estamos des protegidos ante la perdida de la primaria.

Validamos que la Ex primaria se encuentra ya montada para proceder con el ensamblaje.

Siempre con el broker lanzamos el comando para el reinstatement.

Una vez se completa con exito, procedemos a validar la configuracion

De esta manera reconstruimos la configuración de dataguard fácilmente y recuperamos la protección que la característica de Base de Datos Oracle nos permite.

Espero les sea de Utilidad.

saludos.