RDS for Oracle レプリカの概要
Oracle レプリカデータベースは、プライマリデータベースの物理コピーです。読み取り専用モードの Oracle レプリカは、リードレプリカと呼ばれます。マウントモードの Oracle レプリカは、マウントされたレプリカと呼ばれます。Oracle データベースでは、レプリカへの書き込みは許可されませんが、レプリカを昇格して書き込み可能にすることができます。昇格したリードレプリカには、昇格をリクエストされた時点までのレプリケートされたデータがあります。
次のビデオでは、RDS for Oracle の災害対策ついて紹介します。
詳細については、ブログ記事「Amazon RDS for Oracle クロスリージョン自動バックアップによる管理された災害対策 – パート 1
読み取り専用レプリカとマウントされたレプリカ
Oracle レプリカを作成または変更する場合、次のモードのいずれかにすることができます。
- [Read-only]
-
これがデフォルトです。Active Data Guard は、ソースデータベースからすべてのリードレプリカデータベースに変更を送信し、適用します。
1 つのソース DB インスタンスから最大 5 つのリードレプリカを作成できます。すべての DB エンジンに適用されるリードレプリカの一般的な情報については、「DB インスタンスのリードレプリカの操作」を参照してください。Oracle Data Guard の詳細については、Oracle ドキュメントの「Oracle Data Guard の概要および管理
」を参照してください。 - マウント
-
この場合、レプリケーションでは Oracle Data Guard が使用されますが、レプリカデータベースはユーザー接続を受け付けません。マウントされたレプリカの主な用途は、クロスリージョンの災害対策です。
マウントされたレプリカは、読み取り専用のワークロードを処理できません。マウントされたレプリカは、アーカイブログ保持ポリシーに関係なく、適用後にアーカイブ REDO ログファイルを削除します。
同じソース DB インスタンスに対して、マウントされた DB レプリカと読み取り専用 DB レプリカを組み合わせて作成できます。読み取り専用レプリカをマウントモードに変更したり、マウントされたレプリカを読み取り専用モードに変更したりできます。いずれの場合も、Oracle データベースはアーカイブログの保持設定を維持します。
CDB のレプリカを読み取る
RDS for Oracle は、シングルテナント設定でのみ、Oracle Database 19c および 21c CDB について、Data Guard リードレプリカをサポートしています。CDB 以外と同様に、CDB でもリードレプリカを作成、管理、および昇格できます。マウントされたレプリカもサポートされています。次の利点を得ることができます。
-
マネージドディザスタリカバリ、高可用性、レプリカへの読み取り専用アクセス
-
別の AWS リージョン でリードレプリカを作成する機能。
-
既存の RDS リードレプリカ API との統合: CreateDBInstanceReadReplica、PromoteReadReplica、および SwitchoverReadReplica
この機能を使用するには、レプリカとプライマリ DB インスタンスの両方に Active Data Guard ライセンスと Oracle Database Enterprise Edition ライセンスが必要です。CDB アーキテクチャの使用に関連する追加コストはありません。お支払いいただくのは DB インスタンスに対してのみです。
CDB アーキテクチャのシングルテナント設定とマルチテナント設定の詳細については、「RDS for Oracle CDB の概要」を参照してください。
アーカイブされた REDO ログの保持
プライマリ DB インスタンスにクロスリージョンのリードレプリカがない場合、Amazon RDS for Oracle は、ソース DB インスタンスで最低 2 時間のアーカイブ REDO ログを保持します。これは、rdsadmin.rdsadmin_util.set_configuration
の archivelog retention hours
の設定に関係なく当てはまります。
RDSは、2時間後、またはアーカイブログの保持時間の設定が経過した後のいずれか長い方の時間後に、ソース DBインスタンスからログを削除します。ログがデータベースに正常に適用された場合にのみ、アーカイブログの保持時間設定が経過すると、RDS はログをリードレプリカから削除します。
プライマリ DB インスタンスには、1 つ以上のクロスリージョンのリードレプリカが存在する場合があります。その場合 Amazon RDS for Oracle は、ソース DB インスタンスのトランザクションログが転送され、すべてのクロスリージョンリードレプリカに適用されるまで保持します。rdsadmin.rdsadmin_util.set_configuration
については、アーカイブ REDO ログの保持を参照してください。
Oracle レプリケーション中の停止
リードレプリカを作成すると、Amazon RDS はソース DB インスタンスの DB スナップショットを取得し、レプリケーションを開始します。DB スナップショットオペレーションが始まると、ソース DB インスタンスでごく短時間の I/O 停止が発生します。通常、I/O 停止は約 1 秒続きます。ソース DB インスタンスがマルチ AZ 配置の場合は、I/O 停止を回避できます。スナップショットがセカンダリ DB インスタンスから取得されるためです。
DB スナップショットは Oracle レプリカになります。Amazon RDS は、サービスを中断することなく、ソースデータベースとレプリカに対して必要なパラメータとアクセス許可を設定します。同様に、レプリカを削除しても、停止は発生しません。