Récupérer l'ancienne primaire en standby après un failover (REINSTATE)
OracleData GuardCommande
# 1) Bring the old primary to MOUNT (sqlplus / as sysdba):
# SQL> STARTUP MOUNT;
# (RAC: srvctl start database -db <old_primary_db_unique_name> -startoption mount)
# 2) From DGMGRL connected to the new primary:
dgmgrl sys@<new_primary_db_unique_name>
REINSTATE DATABASE '<old_primary_db_unique_name>';
# 3) Verify:
SHOW CONFIGURATION;
SHOW DATABASE '<old_primary_db_unique_name>';Ce que fait la commande
Ramène l'ancienne primaire avant le SCN du failover avec flashback database, la convertit en physical standby et commence à recevoir le redo de la nouvelle primaire ; inutile de reconstruire la standby de zéro.
Quand l'utiliser
Après un failover, une fois le serveur/stockage de l'ancienne primaire de nouveau accessible ; après un failover automatique FSFO (l'observer la réintègre généralement de lui-même).
Attention
Flashback doit avoir été activé sur l'ancienne primaire AVANT le failover et les flashback logs doivent couvrir le SCN du failover (db_flashback_retention_target, taille de la FRA) ; sinon le reinstate échoue et la standby doit être reconstruite avec RMAN duplicate. Les données écrites sur l'ancienne primaire après le failover sont définitivement perdues.
Voir aussi
- Afficher la configuration du broker Data Guard et l'état des bases (DGMGRL)
- Vérifier le rôle primaire/standby et la préparation au switchover en SQL
- 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)