Valida la implementación de Data Guard
Después de configurar el agente de Data Guard, debes verificar que el rehacer se haya copiado de la base de datos principal y aplicado en la base de datos en espera. El siguiente procedimiento se puede usar para verificar el estado de Data Guard desde las bases de datos principal y en espera.
En esta guía, se usan los siguientes ejemplos:
Nombre único de la base de datos | Nombres de host del servidor | Nombres de instancias de RAC | Rol |
---|---|---|---|
DBDG_SITE1 | site1db1, site1db2 | DBDG_SITE11, DBDG_SITE12 | Principal |
DBDG_SITE2 | site2db1, site2db2 | DBDG_SITE21, DBDG_SITE22 | En suspensión |
Valida la implementación de Data Guard
Accede al primer servidor de la solución Bare Metal que aloja la base de datos principal y, luego, configura la variable de entorno
ORACLE_SID
para que puedas conectarte a la base de datos principal:source oraenv <<< "DBDG_SITE11"
Inicia SQL*Plus y, luego, determina el número de secuencia más reciente para los registros de rehacer archivados:
sqlplus / as sysdba
SELECT THREAD#, max(SEQUENCE#) "Last Primary Seq Archived" FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# = VDB.RESETLOGS_CHANGE# GROUP BY THREAD# ORDER BY 1;
El siguiente resultado tiene un número de secuencia máximo de 40 para el subproceso 1 y un número de secuencia máximo de 33 para el subproceso 2:
THREAD# Last Primary Seq Archived ---------- ------------------------- 1 40 2 33
Registra los resultados para compararlos con la base de datos en espera. Se espera que los números de secuencia en la base de datos en espera coincidan con los de la base de datos principal.
Accede al primer servidor de la solución Bare Metal que aloja la base de datos en espera y, luego, configura la variable de entorno
ORACLE_SID
para que puedas conectarte a la base de datos en espera:source oraenv <<< "DBDG_SITE21"
Inicia SQL*Plus y, luego, verifica que el último número de secuencia recibido y aplicado a los registros de rehacer archivados coincida con el último número de secuencia en la base de datos principal:
sqlplus / as sysdba
SELECT THREAD#, max(SEQUENCE#) "Last Standby Seq Received" FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# = VDB.RESETLOGS_CHANGE# GROUP BY THREAD# ORDER BY 1;
SELECT THREAD#, max(SEQUENCE#) "Last Standby Seq Applied" FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# = VDB.RESETLOGS_CHANGE# AND VAL.APPLIED IN ('YES','IN-MEMORY') GROUP BY THREAD# ORDER BY 1;
El siguiente resultado tiene números de secuencia que coinciden con la consulta anterior que se ejecutó en la base de datos en espera:
THREAD# Last Standby Seq Received ---------- ------------------------- 1 40 2 33
THREAD# Last Standby Seq Applied ---------- ------------------------ 1 40 2 33
Comprueba que el estado del proceso de recuperación administrado sea
APPLYING_LOG
:SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE '%MRP%';
En el siguiente ejemplo, se muestra un proceso de recuperación administrado único llamado
MRP0
con el estado deAPPLYING_LOG
:PROCESS STATUS --------- ------------ MRP0 APPLYING_LOG
Verifica cualquier transporte o aplica retraso en la base de datos en espera:
COLUMN NAME FORMAT a20 COLUMN VALUE FORMAT a30 SELECT NAME, VALUE FROM V$DATAGUARD_STATS WHERE NAME LIKE '%lag%';
El siguiente resultado no muestra ningún retraso en la base de datos en espera:
NAME VALUE -------------------- ------------------------------ transport lag +00 00:00:00 apply lag +00 00:00:00
Si hay retrasos, consulta la documentación de solución de problemas de Data Guard de Oracle.
Cambio de base de datos mediante el agente de Data Guard
Un cambio es una reversión de roles en la que la base de datos principal se convierte en una base de datos en espera, y viceversa. Durante el proceso de cambio, los clientes de la base de datos se desconectan de la base de datos principal. Según cómo se conecte tu aplicación a la base de datos, un cambio puede interrumpir el tráfico de la aplicación. Oracle ofrece opciones para mantener la continuidad de las aplicaciones durante las transiciones de roles. Puedes probar la preparación de recuperación ante desastres mediante un cambio de base de datos con las siguientes instrucciones:
Accede al servidor de la solución Bare Metal que aloja la base de datos principal.
Inicia la interfaz de línea de comandos de Data Guard y conéctate a la base de datos en espera:
dgmgrl
CONNECT SYS@DBDG_SITE2
Cuando se te solicite una contraseña, ingresa tu contraseña de acceso remoto de SYS para la base de datos.
Verifica que la base de datos esté lista para el cambio.
VALIDATE DATABASE DBDG_SITE2;
Un resultado correcto informará que la base de datos está lista para el cambio.
Si se realiza de forma correcta, ejecuta el comando de cambio:
SWITCHOVER TO DBDG_SITE2;
Si el comando se ejecuta de forma correcta, recibirás un mensaje que indica que
DBDG_SITE2
es la nueva base de datos principal en la configuración.Ejecuta el siguiente comando para confirmar que se intercambiaron los roles de las bases de datos:
SHOW CONFIGURATION;
Ejecuta el siguiente comando para volver a la configuración original:
SWITCHOVER TO DBDG_SITE1;
Conmutación por error de la base de datos con el agente de Data Guard
Una conmutación por error es una transición de roles en la que una de las bases de datos en espera pasa al rol principal debido a una interrupción completa del sitio. El rehacer no se enviará a la base de datos en espera hasta que se restablezca la base de datos en espera.
Realiza la conmutación por error
Accede al primer servidor de la solución Bare Metal que aloja la base de datos en espera.
Conéctate a la interfaz de línea de comandos de Data Guard y, luego, conmuta por error la principal a la base de datos en espera:
dgmgrl
CONNECT SYS@DBDG_SITE2
Cuando se te solicite una contraseña, ingresa tu contraseña de acceso remoto de SYS para la base de datos.
Inicia la conmutación por error:
FAILOVER TO DBDG_SITE2
Ejecuta
show configuration;
para verificar queDBDG_SITE2
ahora sea la base de datos principal y queDBDG_SITE1
se debe restablecer.
Restablece la base de datos principal
Solo puedes restablecer la base de datos principal después de una conmutación por error si se habilita flashback database
. Para restablecer la base de datos principal con errores, sigue estos pasos:
Accede al primer servidor de la solución Bare Metal que aloja la base de datos principal.
Conéctate a la interfaz de línea de comandos de Data Guard, accede a las bases de datos principales y, luego, restablece la base de datos con errores:
dgmgrl
CONNECT SYS@DBDG_SITE2
Cuando se te solicite una contraseña, ingresa tu contraseña de acceso remoto de SYS para la base de datos.
Restablece la base de datos:
REINSTATE DATABASE DBDG_SITE1; EXIT;
Próximos pasos
A continuación, configura un observador de Data Guard en Compute Engine.