

# Amazon RDS Custom for Oracle レプリケーションのガイドラインと制限事項
<a name="custom-rr.reqs-limitations"></a>

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

**Topics**
+ [RDS Custom for Oracle レプリケーションの一般的なガイドライン](#custom-rr.guidelines)
+ [RDS Custom for Oracle レプリケーションの一般的な制限事項](#custom-rr.limitations)
+ [RDS Custom for Oracle レプリケーションのネットワーク要件と制限事項](#custom-rr.network)
+ [RDS Custom for Oracle の外部レプリカの制限事項](#custom-rr.external-replica-reqs)

## RDS Custom for Oracle レプリケーションの一般的なガイドライン
<a name="custom-rr.guidelines"></a>

RDS Custom for Oracle を使用するときは、次のガイドラインに従ってください。
+ RDS Custom for Oracle レプリケーションは、Oracle Enterprise Edition でのみ使用できます。Standard Edition 2 はサポートされていません。
+ VPN トンネルを実装して、プライマリインスタンスとスタンバイインスタンス間の通信を暗号化することを強くお勧めします。詳細については、「[RDS Custom for Oracle プライマリインスタンスとレプリカインスタンス間の VPN トンネルの設定](cfo-standby-vpn-tunnel.md)」を参照してください。
+ `RDS_DATAGUARD`ユーザーを変更しないでください。このユーザーは RDS Custom for Oracle オートメーション用に予約されています。このユーザーを変更すると、RDS Custom for Oracle DB インスタンスの Oracle レプリカを作成できないなど、望ましくない結果が発生することがあります。
+ レプリケーションユーザーのパスワードは変更しないでください。このパスワードは、RDS Custom ホスト上で Oracle Data Guard 設定を管理するために必要です。RDS Custom for Oracle でパスワードを変更すると、Oracle レプリカがサポートペリメーターの外に配置される可能性があります。詳細については、「[RDS Custom サポート範囲](custom-concept.md#custom-troubleshooting.support-perimeter)」を参照してください。

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

  ```
  do-not-delete-rds-custom-db-DB_resource_id-uuid-dg
  rds-custom!oracle-do-not-delete-DB_resource_id-uuid-dg
  ```
+ プライマリ DB インスタンスの `DB_UNIQUE_NAME` は変更しないでください。名前を変更すると、復元オペレーションが停止します。
+ RDS Custom CDB の `CREATE PLUGGABLE DATABASE` コマンドに句 `STANDBYS=NONE` を指定しないでください。これにより、フェイルオーバーが発生しても、スタンバイ CDB にすべての PDB が含まれるようになります。

## RDS Custom for Oracle レプリケーションの一般的な制限事項
<a name="custom-rr.limitations"></a>

RDS Custom for Oracle レプリカの制限は以下のとおりです。
+ RDS Custom for Oracle レプリカは読み取り専用モードで作成することはできません。ただし、レプリカのモードをマウントから読み取り専用に変更したり、読み取り専用からマウントに変更する操作を手動で行うことができます。詳細については、[create-db-instance-read-replica](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html) AWS CLIコマンドのドキュメントを参照してください。
+ クロスリージョン RDS Custom for Oracle レプリカを作成することはできません。
+ Oracle Data Guard `CommunicationTimeout` パラメータの値を変更することはできません。RDS Custom for Oracle DB インスタンスでこのパラメータを 15 秒に設定します。

## RDS Custom for Oracle レプリケーションのネットワーク要件と制限事項
<a name="custom-rr.network"></a>

ネットワーク設定が 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.ora` に `rds_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 の外部レプリカの制限事項
<a name="custom-rr.external-replica-reqs"></a>

 RDS Custom for Oracle 外部レプリカ (オンプレミスのレプリカを含む) には次の制限があります。
+ RDS Custom for Oracle は、FSFO などの外部 Oracle レプリカの手動フェイルオーバー時にインスタンスロールの変更を検出しません。

  RDS Custom for Oracle は、マネージドレプリカの変更を検出します。ロールの変更は、イベントログに記録されます。新しい状態は、[describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) AWS CLIコマンドを使用して見ることができます。
+ RDS Custom for Oracle は、外部 Oracle レプリカの高いレプリケーションラグを検出しません。

  RDS Custom for Oracle は、マネージドレプリカのラグを検出します。レプリケーションラグが高い場合は、`Replication has stopped`イベントが発生します。レプリケーションステータスは、[describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) AWS CLIコマンドを実行して見ることができますが、更新に遅延がある可能性があります。
+ RDS Custom for Oracle は、プライマリ DB インスタンスを削除しても、外部の Oracle レプリカを自動的に昇格させません。

  自動昇格機能は、マネージド Oracle レプリカでのみ使用できます。Oracle レプリカを手動で昇格する方法については、ホワイトペーパー「[Amazon RDS Custom for Oracle でのデータガードによる高可用性の有効化](https://d1.awsstatic.com/whitepapers/enabling-high-availability-with-data-guard-on-amazon-rds-custom-for-oracle.pdf)」を参照してください。