Alte Primary nach einem Failover als Standby zurückholen (REINSTATE)
OracleData GuardBefehl
# 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>';Was es tut
Setzt die alte Primary per Flashback Database auf den Stand vor der Failover-SCN zurück, wandelt sie in einen Physical Standby um und beginnt, Redo von der neuen Primary zu empfangen; der Standby muss nicht neu aufgebaut werden.
Wann einsetzen
Nach einem Failover, sobald Server/Storage der alten Primary wieder erreichbar sind; nach einem automatischen FSFO-Failover (der Observer führt das Reinstate meist selbst aus).
Vorsicht
Flashback muss auf der alten Primary VOR dem Failover aktiviert gewesen sein und die Flashback Logs müssen die Failover-SCN abdecken (db_flashback_retention_target, FRA-Größe); sonst schlägt das Reinstate fehl und der Standby muss mit RMAN duplicate neu aufgebaut werden. Nach dem Failover in die alte Primary geschriebene Daten gehen endgültig verloren.
Verwandte Einträge
- Data-Guard-Broker-Konfiguration und Datenbankstatus anzeigen (DGMGRL)
- Primary-/Standby-Rolle und Switchover-Bereitschaft mit SQL prüfen
- 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)