Realizar un failover tras perder el primario (DGMGRL)
OracleData GuardComando
# Connect to the standby (the primary is unreachable):
dgmgrl sys@<standby_db_unique_name>
# 1) Assess the data that will be lost (Transport Lag / Apply Lag):
SHOW DATABASE '<standby_db_unique_name>';
# 2) Complete failover: all received redo is applied, then the role changes (recommended)
FAILOVER TO '<standby_db_unique_name>';
# 3) Emergency: immediately, without applying redo (more data loss)
# FAILOVER TO '<standby_db_unique_name>' IMMEDIATE;
SHOW CONFIGURATION;Qué hace
Promueve el standby al rol primario cuando el primario no está disponible; un failover completo aplica primero todo el redo recibido, IMMEDIATE omite la aplicación.
Cuándo usarlo
Cuando el sitio primario, el almacenamiento o la base de datos se han perdido sin posibilidad de recuperación y el RTO no permite esperar a un switchover.
Precaución
Este cambio de rol es irreversible. Asegúrese primero de que el primario está REALMENTE caído; si el antiguo primario sigue abierto y la aplicación sigue escribiendo en él, se produce split-brain y datos divergentes (detenga/aísle el antiguo primario). En modo MaxPerformance se pierden tantos datos como el transport lag. Después revise todos los standbys y la estrategia de backup para el nuevo primario.
Relacionado
- Mostrar la configuración del broker de Data Guard y el estado de las bases de datos (DGMGRL)
- Comprobar con SQL el rol primary/standby y la preparación para switchover
- Medir el lag de transporte/aplicación, la velocidad de aplicación y los procesos de Data Guard en el standby
- Validar el standby con el broker antes de un switchover/failover (VALIDATE DATABASE)
- Realizar un switchover planificado (DGMGRL, cambio de rol sin pérdida de datos)
- Recuperar el antiguo primario como standby tras un failover (REINSTATE)