#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:
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.