RDS for Oracle レプリカの要件と考慮事項 - Amazon Relational Database Service

RDS for Oracle レプリカの要件と考慮事項

Oracle レプリカを作成する前に、以下の要件と考慮事項を確認してください。

RDS for Oracle レプリカのバージョンとライセンス要件

RDS for Oracle レプリカを作成する前に、次の点を考慮してください。

  • レプリカが読み取り専用モードの場合は、Active Data Guard ライセンスがあることを確認してください。レプリカをマウントモードにした場合、Active Data Guard ライセンスは必要ありません。マウントされたレプリカをサポートするのは、Oracle DB エンジンだけです。

  • Oracle レプリカは、Oracle Enterprise Edition (EE) でのみサポートされています。

  • 非 CDB の Oracle レプリカは、Oracle Database 19c を実行している非 CDB インスタンスを使用して作成された DB インスタンスでのみサポートされます。

  • Oracle レプリカは、2 つ以上の vCPU を持つ DB インスタンスクラスで実行されている DB インスタンスでのみ使用できます。ソース DB インスタンスは、db.t3.small インスタンスクラスを使用できません。

  • ソース DB インスタンスとそのすべてのレプリカの Oracle DB エンジンバージョンは同じである必要があります。Amazon RDS では、レプリカのメンテナンスウィンドウに関係なく、ソース DB インスタンスのアップグレード後すぐにレプリカのアップグレードが行われます。クロスリージョンレプリカのメジャーバージョンアップグレードの場合、Amazon RDS は自動的に以下を実行します。

    • ターゲットバージョンのオプショングループを生成します。

    • 元のオプショングループから新しいオプショングループにすべてのオプションとオプション設定をコピーします。

    • アップグレードされたクロスリージョンレプリカを新しいオプショングループに関連付けます。

    DB エンジンバージョンのアップグレードの詳細については、「RDS for Oracle DB エンジンのアップグレード」を参照してください。

RDS for Oracle レプリカのオプショングループの制限事項

RDS for Oracle レプリカを作成する前に、次の点を考慮してください。

  • Oracle レプリカがソース DB インスタンスと同じ AWS リージョンにある場合、そのレプリカでソース DB インスタンスと異なるオプショングループを使用することはできません。ソースオプショングループまたはソースオプショングループメンバーシップへの変更はレプリカに反映されます。これらの変更は、レプリカのメンテナンスウィンドウに関係なく、出典 DB インスタンスに適用された後すぐにレプリカに適用されます。

    オプショングループの詳細については、「オプショングループを使用する」を参照してください。

  • RDS for Oracle クロスリージョンレプリカを、レプリカ用に自動的に作成された専用オプショングループから削除することはできません。

  • RDS for Oracle クロスリージョンレプリカの専用オプショングループを他の DB インスタンスに追加することはできません。

  • RDS for Oracle クロスリージョンレプリカの専用オプショングループから、次の非レプリケーションオプションを追加または削除できます。

    • NATIVE_NETWORK_ENCRYPTION

    • OEM

    • OEM_AGENT

    • SSL

    RDS for Oracle クロスリージョンレプリカに他のオプションを追加するには、ソース DB インスタンスのオプショングループに追加します。オプションは、すべての出典 DB インスタンスのレプリカにもインストールされます。ライセンス供与オプションについては、レプリカに十分なライセンスがあることを確認してください。

    RDS for Oracle クロスリージョンレプリカを昇格するとき、昇格されたレプリカは、オプションの管理を含め、他の Oracle DB インスタンスと同じように動作します。レプリカは、明示的にまたはソース DB インスタンスを削除して暗黙的に昇格できます。

    オプショングループの詳細については、「オプショングループを使用する」を参照してください。

  • EFS_INTEGRATION オプションは、RDS for Oracle クロスリージョンレプリカではサポートされていません。

RDS for Oracle レプリカのバックアップと復元に関する考慮事項

RDS for Oracle レプリカを作成する前に、次の点を考慮してください。

  • RDS for Oracle レプリカのスナップショットを作成したり、自動バックアップを有効にしたりするには、必ずバックアップ保持期間を手動で設定してください。[Automatic backups] (自動バックアップ) はデフォルトで有効になっています。

  • レプリカのバックアップを復元するときは、バックアップが実行された時刻ではなく、データベースの時刻に復元することになります。データベースの時刻では、バックアップ時にデータにトランザクションが最後に適用された時刻を参照します。レプリカはプライマリよりも数分または数時間遅れることがあるため、この違いは重大です。

    差を確認するには、describe-db-snapshots コマンドを使用します。レプリカのバックアップのデータベース時間である snapshotDatabaseTime と、プライマリデータベースで最後に適用されたトランザクションである OriginalSnapshotCreateTime を比較します。

RDS for Oracle レプリカに関する Oracle Data Guard の要件と制限事項

RDS for Oracle レプリカを作成する前に、次の要件と制限事項に注意してください。

  • プライマリ DB インスタンスがマルチテナントアーキテクチャのシングルテナント構成を使用している場合は、次の点を考慮してください。

    • Enterprise Edition では Oracle Database 19c 以降を使用する必要があります。

    • プライマリ CDB インスタンスは ACTIVE ライフサイクルにある必要があります。

    • CDB 以外のプライマリインスタンスを CDB インスタンスに変換し、そのレプリカを同じ操作で変換することはできません。代わりに、CDB 以外のレプリカを削除し、プライマリ DB インスタンスを CDB に変換してから、新しいレプリカを作成してください。

  • プライマリ DB インスタンスのログイントリガーで、RDS_DATAGUARD ユーザーへのアクセス、および AUTHENTICATED_IDENTITY の値が RDS_DATAGUARD または rdsdb であるすべてのユーザーへのアクセスを許可する必要があります。また、トリガーで RDS_DATAGUARD ユーザーの現在のスキーマを設定しないでください。

  • Data Guard ブローカープロセスからの接続のブロックを回避するには、制限セッションを有効にしないでください。制限セッションの詳細については、「制限セッションの有効化と無効化」を参照してください。

RDS for Oracle レプリカに関するその他の考慮事項

RDS for Oracle レプリカを作成する前に、次の点を考慮してください。

  • DB インスタンスが 1 つ以上のクロスリージョンレプリカのソースである場合、ソース DB は、すべてのクロスリージョンレプリカに適用されるまで、アーカイブされた REDO ログファイルに保持されます。アーカイブされた REDO ログにより、ストレージの消費が増える場合があります。

  • RDS 自動化の中断を避けるために、システムトリガーでは、特定のユーザーがプライマリデータベースとレプリカデータベースへのログオンを許可する必要があります。システムトリガーには、DDL、ログオン、およびデータベースロールトリガーが含まれます。以下のサンプルコードに記載されているユーザーを除外するために、トリガーにコードを追加することをお勧めします。

    -- Determine who the user is SELECT SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY') INTO CURRENT_USER FROM DUAL; -- The following users should always be able to login to either the Primary or Replica IF CURRENT_USER IN ('master_user', 'SYS', 'SYSTEM', 'RDS_DATAGUARD', 'rdsdb') THEN RETURN; END IF;
  • ブロック変更の追跡は、読み取り専用レプリカではサポートされますが、マウントされたレプリカではサポートされません。マウントされたレプリカを読み取り専用レプリカに変更し、ブロック変更の追跡を有効にすることができます。(詳しくは、「ブロック変更追跡の有効化/無効化」を参照してください。)