Comprobar con SQL el rol primary/standby y la preparación para switchover
OracleData GuardComando
SELECT name, db_unique_name, database_role, open_mode, protection_mode,
switchover_status, force_logging, flashback_on, dataguard_broker
FROM v$database;
-- State of redo destinations and gaps (on the primary):
SELECT dest_id, dest_name, status, type, database_mode,
recovery_mode, gap_status, error
FROM v$archive_dest_status
WHERE status <> 'INACTIVE';
-- Missing archivelog range on the standby:
SELECT thread#, low_sequence#, high_sequence# FROM v$archive_gap;Qué hace
Muestra el rol de la base de datos, el modo de apertura, el modo de protección, switchover_status (TO STANDBY / TO PRIMARY / SESSIONS ACTIVE / NOT ALLOWED), el estado de FORCE LOGGING y flashback, además de los errores y gaps de los destinos de redo.
Cuándo usarlo
Como comprobación previa a un switchover/failover, tras construir un standby nuevo y para el monitoreo básico donde no se usa el broker.
Precaución
Solo lectura. Si FORCE_LOGGING=NO, las operaciones NOLOGGING dejan bloques corruptos en el standby; ALTER DATABASE FORCE LOGGING debe estar habilitado en un primario de Data Guard. Si FLASHBACK_ON=NO, el antiguo primario no se puede reinstaurar tras un failover y debe reconstruirse.
Relacionado
- Mostrar la configuración del broker de Data Guard y el estado de las bases de datos (DGMGRL)
- 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)
- Realizar un failover tras perder el primario (DGMGRL)
- Recuperar el antiguo primario como standby tras un failover (REINSTATE)