DBAtlas · Atlas d'exploitation des bases de données

Récupérer l'ancienne primaire en standby après un failover (REINSTATE)

OracleData Guard

Commande

# 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.

Ouvrir dans DBAtlas →

Voir aussi