RDS Custom for Oracle の Oracle レプリカの使用 - Amazon Relational Database Service

RDS Custom for Oracle の Oracle レプリカの使用

Oracle Enterprise Edition を実行する、RDS Custom for Oracle DB インスタンスの Oracle レプリカを作成できます。コンテナデータベース (CDB) と非 CDB の両方がサポートされています。Standard Edition 2 は、Oracle Data Guard をサポートしていません。

RDS Custom for Oracle レプリカの作成は、RDS for Oracle レプリカの作成に似ていますが、いくつかの重要な違いがあります。Oracle レプリカの作成および管理の一般情報については、「DB インスタンスのリードレプリカの操作」 および 「Amazon RDS for Oracle でのリードレプリカの使用」 を参照してください。

RDS Custom for Oracle レプリケーションの概要

RDS Custom for Oracle レプリケーションのアーキテクチャは、RDS for Oracle レプリケーションに似ています。プライマリ DB インスタンスは 1 つ以上の Oracle レプリカに非同期でレプリケートします。

RDS Custom for Oracle での Oracle レプリカのサポート

レプリカの最大数

RDS for Oracle と同様に、RDS Custom for Oracle プライマリ DB インスタンスに対して、最大 5 つのマネージド Oracle レプリカを作成できます。手動で設定した独自 (外部) の Oracle レプリカを作成することもできます。外部レプリカは DB インスタンスの制限にはカウントされません。RDS Custom サポートペリメーターの外にもあります。サポートされる形式の詳細については、「RDS Custom サポート範囲」を参照してください。

レプリカの命名規則

Oracle レプリカ名は、データベースの一意の名前に基づいています。形式は DB_UNIQUE_NAME_X で、文字が順次追加されます。例えば、データベースの一意の名前が ORCL であれば、最初の 2 つのレプリカの名前は ORCL_AORCL_B になります。初期の 6 文字 A—F は RDS Custom 用に予約されています。RDS Custom は、プライマリ DB インスタンスからレプリカにデータベースパラメータをコピーします。詳細については、Oracle ドキュメントの「DB_UNIQUE_NAME」を参照してください。

レプリカのバックアップ保持

デフォルトでは、RDS Custom Oracle レプリカは、プライマリ DB インスタンスと同じバックアップ保持期間を使用します。バックアップ保持期間を 1~35 日に変更することができます。RDS Custom は、バックアップ、リストア、ポイントインタイムリカバリ (PITR) をサポートしています。RDS カスタム DB インスタンスのバックアップと復元の詳細については、「Amazon RDS Custom for Oracle DB インスタンスのバックアップと復元」を参照してください。

注記

Oracle レプリカを作成している間、RDS Custom は REDO ログファイルのクリーンアップを一時的に一時停止します。このようにして、RDS Custom は、新しい Oracle レプリカが使用可能になった後に、これらのログを確実に適用できるようにします。

レプリカの昇格

コンソール、promote-read-replica AWS CLI コマンド、または PromoteReadReplica API を使用して、RDS Custom for Oracle のマネージド Oracle レプリカを昇格させることができます。プライマリ DB インスタンスを削除し、すべてのレプリカが正常であれば、RDS Custom for Oracle はマネージドレプリカをスタンドアロンインスタンスに自動的に昇格させます。レプリカが自動化を一時停止しているか、サポートペリメーター外にある場合は、RDS Custom が自動的にレプリカを昇格させる前にレプリカを修正する必要があります。外部の Oracle レプリカは手動でのみ昇格できます。

Amazon RDS Custom for Oracle レプリケーションのガイドラインと制限事項

RDS Custom for Oracle リードレプリカの作成時に、すべての RDS Oracle レプリカオプションがサポートされるわけではありません。

RDS Custom for Oracle レプリケーションの一般的なガイドライン

RDS Custom for Oracle を使用するときは、次のガイドラインに従ってください。

  • RDS Custom for Oracle レプリケーションは、Oracle Enterprise Edition でのみ使用できます。Standard Edition 2 はサポートされていません。

  • RDS_DATAGUARDユーザーを変更しないでください。このユーザーは RDS Custom for Oracle オートメーション用に予約されています。このユーザーを変更すると、RDS Custom for Oracle DB インスタンスの Oracle レプリカを作成できないなど、望ましくない結果が発生することがあります。

  • レプリケーションユーザーのパスワードは変更しないでください。このパスワードは、RDS Custom ホスト上で Oracle Data Guard 設定を管理するために必要です。RDS Custom for Oracle でパスワードを変更すると、Oracle レプリカがサポートペリメーターの外に配置される可能性があります。詳細については、「RDS Custom サポート範囲」を参照してください。

    パスワードは、DB リソース ID とタグ付けされ、AWS Secrets Manager に保存されます。Secrets Manager は、各 Oracle レプリカに独自のシークレットがあります。シークレットの形式は次のとおりです。

    do-not-delete-rds-custom-db-DB_resource_id-6-digit_UUID-dg
  • プライマリ DB インスタンスの DB_UNIQUE_NAME は変更しないでください。名前を変更すると、復元オペレーションが停止します。

  • RDS Custom CDB の CREATE PLUGGABLE DATABASE コマンドに句 STANDBYS=NONE を指定しないでください。これにより、フェイルオーバーが発生しても、スタンバイ CDB にすべての PDB が含まれるようになります。

RDS Custom for Oracle レプリケーションの一般的な制限事項

RDS Custom for Oracle レプリカの制限は以下のとおりです。

  • RDS Custom for Oracle レプリカは読み取り専用モードで作成することはできません。ただし、レプリカのモードをマウントから読み取り専用に変更したり、読み取り専用からマウントに変更する操作を手動で行うことができます。詳細については、create-db-instance-read-replica AWS CLIコマンドのドキュメントを参照してください。

  • クロスリージョン RDS Custom for Oracle レプリカを作成することはできません。

  • Oracle Data Guard CommunicationTimeout パラメータの値を変更することはできません。RDS Custom for Oracle DB インスタンスでこのパラメータを 15 秒に設定します。

RDS Custom for Oracle レプリケーションのネットワーク要件と制限事項

ネットワーク設定が RDS Custom for Oracle レプリカをサポートしていることを確認します。以下の点を考慮します。

  • プライマリ DB インスタンスおよびすべてのレプリカの仮想プライベートクラウド (VPC) 内のインバウンドおよびアウトバウンド通信の両方で、ポート 1140 を有効にしてください。これは、Oracle Data Guard のリードレプリカ間の通信に必要です。

  • RDS Custom for Oracle は、Oracle レプリカの作成中にネットワークを検証します。プライマリ DB インスタンスと新しいレプリカがネットワーク経由で接続できない場合、RDS Custom for Oracle はレプリカを作成せず、INCOMPATIBLE_NETWORK 状態にします。

  • Amazon EC2 またはオンプレミスで作成する外部 Oracle レプリカの場合は、Oracle Data Guard レプリケーションに別のポートとリスナーを使用します。ポート 1140 を使用しようとすると、RDS Custom オートメーションと競合する可能性があります。

  • /rdsdbdata/config/tnsnames.oraファイルには、リスナープロトコルアドレスにマップされたネットワークサービス名が含まれています。以下の要件と推奨事項に留意してください。

    • tnsnames.orards_custom_ のプレフィックスが付いたエントリーは、Oracle レプリカオペレーションを処理する際に RDS Custom に予約されます。

      tnsnames.oraで手動でエントリーを作成する場合、このプレフィックスは使用しないでください。

    • 場合によっては、手動でスイッチオーバーまたはフェイルオーバーするか、Fast-Start Failover (FSFO) などのフェイルオーバーテクノロジーを使用することをお勧めします。その場合は、マニュアルでtnsnames.oraエントリーをプライマリ DB インスタンスからすべてのスタンバイインスタンスに同期してください。このレコメンデーションは、RDS Custom で管理される Oracle レプリカと外部 Oracle レプリカの両方に適用されます。

      RDS Custom オートメーションは、tnsnames.ora エントリーをプライマリ DB インスタンスでのみアップデートします。Oracle レプリカを追加または削除するときも、必ず同期してください。

      同期しない場合、tnsnames.oraファイルを切り替えてマニュアルでフェイルオーバーすると、プライマリ DB インスタンス上の Oracle Data Guard が Oracle レプリカと通信できない場合があります。

RDS Custom for Oracle の外部レプリカの制限事項

RDS Custom for Oracle 外部レプリカ (オンプレミスのレプリカを含む) には次の制限があります。

  • RDS Custom for Oracle は、FSFO などの外部 Oracle レプリカの手動フェイルオーバー時にインスタンスロールの変更を検出しません。

    RDS Custom for Oracle は、マネージドレプリカの変更を検出します。ロールの変更は、イベントログに記録されます。新しい状態は、describe-db-instances AWS CLIコマンドを使用して見ることができます。

  • RDS Custom for Oracle は、外部 Oracle レプリカの高いレプリケーションラグを検出しません。

    RDS Custom for Oracle は、マネージドレプリカのラグを検出します。レプリケーションラグが高い場合は、Replication has stoppedイベントが発生します。レプリケーションステータスは、describe-db-instances AWS CLIコマンドを実行して見ることができますが、更新に遅延がある可能性があります。

  • RDS Custom for Oracle は、プライマリ DB インスタンスを削除しても、外部の Oracle レプリカを自動的に昇格させません。

    自動昇格機能は、マネージド Oracle レプリカでのみ使用できます。Oracle レプリカを手動で昇格する方法については、ホワイトペーパー「Amazon RDS Custom for Oracle でのデータガードによる高可用性の有効化」を参照してください。

RDS Custom for Oracle のレプリカの昇格の制限事項

RDS Custom for Oracle マネージド Oracle レプリカの昇格は、RDS マネージドレプリカの昇格と同じですが、いくつかの違いがあります。RDS Custom for Oracle レプリカの以下の制事項に注意してください。

  • RDS Custom for Oracle がバックアップを行っている間は、レプリカを昇格させることはできません。

  • Oracle レプリカを昇格させる場合、バックアップ保持期間を 0 に変更することはできません。

  • レプリカが正常な状態でないと、レプリカを昇格させることはできません。

    プライマリ DB インスタンスで delete-db-instance を発行した場合、RDS Custom for Oracle は、それぞれのマネージド Oracle レプリカが正常であり、昇格に利用可能であることを検証します。自動化が一時停止されているか、サポートペリメーター外にあるため、レプリカを昇格できない場合があります。このような場合、RDS Custom for Oracle は問題を説明するイベントを公開し、Oracle レプリカを手動で修復できるようにします。

RDS Custom for Oracle のレプリカの昇格のガイドライン

レプリカを昇格させる場合は、以下のガイドラインに注意してください。

  • RDS Custom for Oracle がレプリカを昇格させている間は、フェイルオーバーを開始しないようにしてください。そうしないと、昇格ワークフローが停止する可能性があります。

  • RDS Custom for Oracle が Oracle レプリカを昇格させている間は、プライマリ DB インスタンスを切り替えないようにしてください。そうしないと、昇格ワークフローが停止する可能性があります。

  • RDS Custom for Oracle が Oracle レプリカを昇格させている間は、プライマリ DB インスタンスをシャットダウンしないようにしてください。そうしないと、昇格ワークフローが停止する可能性があります。

  • 新しく昇格した DB インスタンスをターゲットとしてレプリケーションを再開しようとしないでください。RDS Custom for Oracle が Oracle レプリカを昇格させると、そのレプリカはスタンドアロンの DB インスタンスになり、レプリカのロールは保有しなくなります。

詳細については、「RDS Custom for Oracle のレプリカプロモーションのトラブルシューティング」を参照してください。

RDS Custom for Oracle レプリカをスタンドアロン DB インスタンスに昇格させる

RDS for Oracle と同様に、RDS Custom for Oracle レプリカをスタンドアロンの DB インスタンスに昇格させることができます。Oracle レプリカを昇格させると、RDS Custom for Oracle は、使用可能になる前に DB インスタンスが再起動します。Oracle レプリカの昇格についての詳細は、「リードレプリカをスタンドアロン DB インスタンスに昇格させる」を参照してください。

以下のステップは、DB インスタンスに Oracle レプリカを昇格させる一般的なプロセスを示しています。

  1. プライマリ DB インスタンスに対するトランザクションの書き込みをすべて停止します。

  2. RDS Custom for Oracle がすべての更新を Oracle レプリカに適用するまでお待ちください。

  3. Amazon RDS コンソールの [Promote] (昇格) オプション、AWS CLI コマンドの promote-read-replica、または Amazon RDS API の PromoteReadReplica オペレーションを使用して、Oracle レプリカを昇格させます。

Oracle レプリカの昇格には数分かかります。プロセス中、RDS Custom for Oracle はレプリケーションを停止し、レプリカを再起動します。再起動が完了すると、Oracle レプリカは新しい DB インスタンスとして使用可能になります。

RDS Custom for Oracle レプリカをスタンドアロン DB インスタンスに昇格させるには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. Amazon RDS コンソールで、[Databases (データベース)] を選択します。

    [データベース] ペインが表示されます。各 Oracle レプリカには、[Role] (ロール) 列に [Replica] (レプリカ) があります。

  3. 昇格させる RDS Custom for Oracle レプリカを選択します。

  4. [アクション] で、[Promote (昇格)] を選択します。

  5. [Promote Oracle replica] (Oracle レプリカの昇格) ページで、新しく昇格された DB インスタンスのバックアップ保持期間とバックアップウィンドウを入力します。この値を 0 に設定することはできません。

  6. 希望通りの設定になったら、[Promote Oracle replica] (Oracle レプリカの昇格) を選択します。

RDS Custom for Oracle レプリカをスタンドアロン DB インスタンスに昇格させるには、AWS CLI promote-read-replica コマンドを使用します。

Linux、macOS、Unix の場合:

aws rds promote-read-replica \ --db-instance-identifier my-custom-read-replica \ --backup-retention-period 2 \ --preferred-backup-window 23:00-24:00

Windows の場合:

aws rds promote-read-replica ^ --db-instance-identifier my-custom-read-replica ^ --backup-retention-period 2 ^ --preferred-backup-window 23:00-24:00

RDS Custom for Oracle レプリカをスタンドアロン DB インスタンスに昇格するには、必須のパラメータ DBInstanceIdentifier を指定して Amazon RDS API の PromoteReadReplica オペレーションを呼び出します。