Vérifier le rôle primaire/standby et la préparation au switchover en SQL
OracleData GuardCommande
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;Ce que fait la commande
Affiche le rôle de la base, le mode d'ouverture, le mode de protection, switchover_status (TO STANDBY / TO PRIMARY / SESSIONS ACTIVE / NOT ALLOWED), l'état FORCE LOGGING et flashback, ainsi que les erreurs et gaps des destinations redo.
Quand l'utiliser
Comme pré-vérification avant un switchover/failover, après la création d'une nouvelle standby, et pour une surveillance de base là où le broker n'est pas utilisé.
Attention
Lecture seule. Si FORCE_LOGGING=NO, les opérations NOLOGGING laissent des blocs corrompus sur la standby ; ALTER DATABASE FORCE LOGGING doit être activé sur une primaire Data Guard. Si FLASHBACK_ON=NO, l'ancienne primaire ne peut pas être réintégrée après un failover et doit être reconstruite.
Voir aussi
- Afficher la configuration du broker Data Guard et l'état des bases (DGMGRL)
- Mesurer le transport/apply lag, le débit d'apply et les processus Data Guard sur la standby
- Valider la standby avec le broker avant un switchover/failover (VALIDATE DATABASE)
- Effectuer un switchover planifié (DGMGRL, changement de rôle sans perte de données)
- Effectuer un failover après la perte de la primaire (DGMGRL)
- Récupérer l'ancienne primaire en standby après un failover (REINSTATE)