DBAtlas · Atlas für Datenbankbetrieb

Alte Primary nach einem Failover als Standby zurückholen (REINSTATE)

OracleData Guard

Befehl

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

In DBAtlas öffnen →

Verwandte Einträge