Primary-/Standby-Rolle und Switchover-Bereitschaft mit SQL prüfen
OracleData GuardBefehl
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;Was es tut
Zeigt Datenbankrolle, Open Mode, Protection Mode, switchover_status (TO STANDBY / TO PRIMARY / SESSIONS ACTIVE / NOT ALLOWED), FORCE LOGGING und Flashback-Zustand sowie Fehler und Lücken der Redo-Ziele.
Wann einsetzen
Als Vorprüfung vor Switchover/Failover, nach dem Aufbau eines neuen Standby und für grundlegendes Monitoring, wo der Broker nicht genutzt wird.
Vorsicht
Nur lesend. Bei FORCE_LOGGING=NO hinterlassen NOLOGGING-Operationen korrupte Blöcke auf dem Standby; auf einer Data-Guard-Primary muss ALTER DATABASE FORCE LOGGING aktiviert sein. Bei FLASHBACK_ON=NO kann die alte Primary nach einem Failover nicht per Reinstate zurückgeholt werden und muss neu aufgebaut werden.
Verwandte Einträge
- Data-Guard-Broker-Konfiguration und Datenbankstatus anzeigen (DGMGRL)
- Transport-/Apply-Lag, Apply-Rate und Data-Guard-Prozesse auf dem Standby messen
- Standby vor Switchover/Failover mit dem Broker validieren (VALIDATE DATABASE)
- Geplanten Switchover durchführen (DGMGRL, Rollenwechsel ohne Datenverlust)
- Failover nach Verlust der Primary durchführen (DGMGRL)
- Alte Primary nach einem Failover als Standby zurückholen (REINSTATE)