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

プライマリ喪失後にフェイルオーバーを実行(DGMGRL)

OracleData Guard

コマンド

# Connect to the standby (the primary is unreachable):
dgmgrl sys@<standby_db_unique_name>
# 1) Assess the data that will be lost (Transport Lag / Apply Lag):
SHOW DATABASE '<standby_db_unique_name>';
# 2) Complete failover: all received redo is applied, then the role changes (recommended)
FAILOVER TO '<standby_db_unique_name>';
# 3) Emergency: immediately, without applying redo (more data loss)
# FAILOVER TO '<standby_db_unique_name>' IMMEDIATE;
SHOW CONFIGURATION;

概要

プライマリが使用不能なときにスタンバイをプライマリロールに昇格する。完全フェイルオーバーはまず受信済みREDOをすべて適用し、IMMEDIATEは適用をスキップする。

使用する場面

プライマリサイト、ストレージ、データベースが回復不能なほど失われ、RTOがスイッチオーバーを待つ余裕を許さない場合。

注意

このロール変更は元に戻せない。まずプライマリが本当に停止していることを確認する。旧プライマリが開いたままアプリケーションが書き込み続けると、スプリットブレインとデータの分岐が発生する(旧プライマリを停止/隔離する)。MaxPerformanceモードでは転送ラグ分のデータが失われる。実施後、新プライマリに対するすべてのスタンバイとバックアップ戦略を見直す。

DBAtlas で開く →

関連項目