DBAtlas · データベース運用アトラス

フェイルオーバー後に旧プライマリをスタンバイとして回復(REINSTATE)

OracleData Guard

コマンド

# 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>';

概要

flashback databaseで旧プライマリをフェイルオーバーSCN以前に戻し、フィジカルスタンバイに変換して新プライマリからのREDO受信を開始する。スタンバイを一から再構築する必要はない。

使用する場面

フェイルオーバー後、旧プライマリのサーバー/ストレージに再びアクセスできるようになったときに。FSFOの自動フェイルオーバー後(通常はObserverが自動的にreinstateする)。

注意

フェイルオーバーの前に旧プライマリでフラッシュバックが有効化されており、フラッシュバックログがフェイルオーバーSCNをカバーしている必要がある(db_flashback_retention_target、FRAサイズ)。そうでない場合reinstateは失敗し、RMAN duplicateでスタンバイを再構築する必要がある。フェイルオーバー後に旧プライマリに書き込まれたデータは完全に失われる。

DBAtlas で開く →

関連項目