

# Oracle Data ata Guard のスイッチオーバー操作の実行
<a name="oracle-replication-switchover"></a>

*スイッチオーバー*では、プライマリデータベースとスタンバイデータベースとの間でロールが入れ替わります。スイッチオーバー中、元のプライマリデータベースはスタンバイロールに移行し、元のスタンバイデータベースはプライマリロールに移行します。

Oracle Data Guard 環境では、プライマリデータベースは 1 つ以上のスタンバイデータベースをサポートします。プライマリデータベースからスタンバイデータベースへ、マネージド型のスイッチオーバーベースのロール移行を実行できます。*スイッチオーバー*では、プライマリデータベースとスタンバイデータベースとの間でロールが入れ替わります。スイッチオーバー中、元のプライマリデータベースはスタンバイロールに移行し、元のスタンバイデータベースはプライマリロールに移行します。

**Topics**
+ [Oracle Data Guard のスイッチオーバー機能の概要](#oracle-replication-switchover.overview)
+ [Oracle Data Guard のスイッチオーバーの要件](oracle-switchover.preparing.md)
+ [Oracle Data Guard のスイッチオーバーの開始](oracle-switchover.initiating.md)
+ [Oracle Data Guard のスイッチオーバーのモニタリング](oracle-switchover.monitoring.md)

## Oracle Data Guard のスイッチオーバー機能の概要
<a name="oracle-replication-switchover.overview"></a>

Amazon RDS は、Oracle データベースレプリカの完全マネージド型のスイッチオーバーベースのロール移行をサポートしています。マウントされているか、読み取り専用で開いているスタンバイデータベースへのスイッチオーバーのみを開始できます。

レプリカは、個別の AWS リージョンに配置するか、単一のリージョン内における複数の異なるアベイラビリティーゾーン (AZ) に配置できます。すべての AWS リージョンがサポートされています。

![\[スタンバイインスタンスを切り替えると、このインスタンスがプライマリ DB インスタンスになります。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/read-replica-switchover.png)


スイッチオーバーは、リードレプリカの昇格とは異なります。スイッチオーバーでは、ソース DB インスタンスとレプリカ DB インスタンスの役割が入れ替わります。昇格では、リードレプリカはソース DB インスタンスになりますが、ソース DB インスタンスはレプリカになりません。詳細については、「[リードレプリカをスタンドアロン DB インスタンスに昇格させる](USER_ReadRepl.Promote.md)」を参照してください。

**Topics**
+ [Oracle Data ata Guard スイッチオーバーの利点](#oracle-replication-switchover.overview.benefits)
+ [サポートされている Oracle Database のバージョン](#oracle-replication-switchover.overview.engine-support)
+ [Oracle Data Guard のスイッチオーバーの費用](#oracle-replication-switchover.overview.cost)
+ [Oracle Data Guard のスイッチオーバーの仕組み](#oracle-replication-switchover.overview.how-it-works)

### Oracle Data ata Guard スイッチオーバーの利点
<a name="oracle-replication-switchover.overview.benefits"></a>

RDS for Oracle のリードレプリカと同様に、マネージド型スイッチオーバーは Oracle Data Guard に依存しています。このオペレーションは、データ損失がゼロになるように設計されています。Amazon RDS は、スイッチオーバーの次の要素を自動化します。
+ 新しいスタンバイデータベースを元のスタンバイデータベースと同じ状態 (マウントされているか、読み取り専用)、プライマリデータベースと指定されたスタンバイデータベースのロールを逆にする
+ データの整合性を確保する
+ 移行後もレプリケーション構成を維持する
+ 新しいスタンバイデータベースのロールが元のプライマリロールに戻ることができることで、逆転の繰り返しをサポートする

### サポートされている Oracle Database のバージョン
<a name="oracle-replication-switchover.overview.engine-support"></a>

Oracle Data Guard スイッチオーバーは、Oracle Database 19c 以降のリリースでサポートされています。

### Oracle Data Guard のスイッチオーバーの費用
<a name="oracle-replication-switchover.overview.cost"></a>

Oracle Data Guard のスイッチオーバー機能には追加コストはかかりません。Oracle Database Enterprise Edition には、マウントモードのスタンバイデータベースのサポートが含まれています。スタンバイデータベースを読み取り専用モードで開くには、Oracle Active Data Guard オプションが必要です。

### Oracle Data Guard のスイッチオーバーの仕組み
<a name="oracle-replication-switchover.overview.how-it-works"></a>

Oracle Data Guard のスイッチオーバーはフルマネージド型操作です。スタンバイデータベースのスイッチオーバーを開始するには、CLI コマンド `switchover-read-replica` を実行します。すると、Amazon RDS はレプリケーション構成のプライマリロールとスタンバイロールを変更します。

*オリジナルのスタンバイ*と*オリジナルのプライマリ*がスイッチオーバー前のロールです。*新しいスタンバイ*と*新しいプライマリ*がスイッチオーバー後のロールです。*バイスタンダーのレプリカ*は、Oracle Data Guard 環境ではスタンバイデータベースとして機能しますが、ロールの切り替えは行わないレプリカデータベースです。

**Topics**
+ [Oracle Data Guard のスイッチオーバーのステージ](#oracle-replication-switchover.overview.how-it-works.during-switchover)
+ [Oracle Data Guard のスイッチオーバー操作後](#oracle-replication-switchover.overview.how-it-works.after-switchover)

#### Oracle Data Guard のスイッチオーバーのステージ
<a name="oracle-replication-switchover.overview.how-it-works.during-switchover"></a>

スイッチオーバーを実行するには、Amazon RDS が次のステップを実行する必要があります。

1. 元のプライマリデータベースの新しいトランザクションをブロックします。スイッチオーバー中、Amazon RDS は Oracle Data Guard 設定のすべてのデータベースのレプリケーションを中断します。スイッチオーバー中、元のプライマリデータベースは書き込み要求を処理できません。

1. 未適用のトランザクションを元のスタンバイデータベースに送り、適用します。

1. 新しいスタンバイデータベースを読み取り専用モードまたはマウントモードで再起動します。モードは、スイッチオーバー前の元のスタンバイデータベースのオープン状態によって異なります。

1. 新しいプライマリデータベースを読み取り/書き込みモードで開きます。

#### Oracle Data Guard のスイッチオーバー操作後
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover"></a>

Amazon RDS は、プライマリデータベースとスタンバイデータベースのロールを切り替えます。アプリケーションを再接続し、その他の必要な構成を実行するのはユーザーです。

**Topics**
+ [成功基準](#oracle-replication-switchover.overview.how-it-works.after-switchover.success)
+ [新しいプライマリデータベースへの接続](#oracle-replication-switchover.overview.how-it-works.after-switchover.connection)
+ [新しいプライマリデータベースの構成](#oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration)

##### 成功基準
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success"></a>

Oracle Data Guard のスイッチオーバーは、元のスタンバイデータベースが次の処理を実行したときに成功したと判断できます。
+ 新しいプライマリデータベースとしてのロールに移行する
+ 再構成を完了する

ダウンタイムを抑えるため、新しいプライマリデータベースはできるだけ早くアクティブになります。Amazon RDS はバイスタンダーのレプリカを非同期で設定するため、これらのレプリカは元のプライマリデータベースの後でアクティブになる可能性があります。

##### 新しいプライマリデータベースへの接続
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.connection"></a>

Amazon RDS は、スイッチオーバー後、現在のデータベース接続を新しいプライマリデータベースに伝達しません。Oracle Data Guard のスイッチオーバーが完了したら、アプリケーションを新しいプライマリデータベースに再接続します。

##### 新しいプライマリデータベースの構成
<a name="oracle-replication-switchover.overview.how-it-works.after-switchover.success.configuration"></a>

新しいプライマリデータベースへのスイッチオーバーを実行するために、Amazon RDS は元のスタンバイデータベースのモードをオープンに変更します。ロールの変更がデータベースの唯一の変更です。Amazon RDS によって Multi-AZ レプリケーションなどの機能は設定されません。

オプションが異なるクロスリージョンレプリカへのスイッチオーバーを実行しても、新しいプライマリデータベースでは独自のオプションが保持されます。Amazon RDS は元のプライマリデータベースのオプションを移行しません。元のプライマリデータベースで SSL、NNE、OEM、OEM\$1AGENT などのオプションが指定されている場合も、Amazon RDS はそれらを新しいプライマリデータベースに伝達しません。