高可用性
OCI GoldenGateの高可用性について
高可用性は、高い割合の時間で稼働状態を維持し、アクセスできるようにするシステムの機能です。OCI GoldenGateで高可用性を実現するために、プライマリ・デプロイメント(ローカル・スタンバイ)または別のリージョン(クロスリージョン・スタンバイ)と同じリージョンにピア・デプロイメントを作成できます。この設定により、スタンバイ可用性ドメイン(AD)でOCI GoldenGateをリストアする前に失われたデータの最大量であるリカバリ・ポイント目標(RPO)がゼロになります。リカバリ時間目標(RTO)は、スタンバイADでOCI GoldenGateをリストアする最大時間であり、デプロイメントに格納されるデータの量によって異なります。ストレージ使用率が高いほど、RTOは長くなります。
ソース・インスタンスおよびターゲット・インスタンスと同じスタンバイ・リージョンを選択することを検討してください。たとえば、Autonomous AI Databaseスタンバイがフランクフルトにある場合は、OCI GoldenGateデプロイメント・スタンバイのフランクフルトも選択します。
ノート:
ピア・デプロイメントは、プライマリ・デプロイメントと同じレートで請求されます。OCPUの管理および請求の詳細を参照してください。概念
OCI GoldenGateの高可用性の作業には、次の概念が重要です:
- プライマリ・デプロイメント: 最初に作成するメイン・データ・レプリケーション・デプロイメント。
- ピア・デプロイメント: 障害またはサービスの中断時に切り替えることができるスタンバイ・デプロイメント。
- ローカル・ピア: プライマリ・デプロイメントと同じリージョンにあるが、異なる可用性ドメインまたはフォルト・ドメインにあるピア・デプロイメント。
- リモート・ピア: 別のリージョンに存在するピア・デプロイメント。
- リカバリ・ポイント目標(RPO): OCI GoldenGateがリストアされる前に失われる可能性があるデータの最大量。OCI GoldenGateの場合、RPOはゼロです。
- リカバリ時間目標(RTO): GoldenGateをリストアする最大時間。RTOは、デプロイメントに格納されるデータの量によって異なります。ストレージ使用率が高いほど、RTOは長くなります。
Data Guard対応のベース・データベース接続
OCI GoldenGateソースまたはターゲットにData Guard対応のベース・データベースを使用する場合は、高可用性ソリューションを実装するときに、データベース接続文字列のサービス名がピア間で同一であることを確認する必要があります。
Data Guard対応のOracleベース・データベース・システム(コンテナ・データベース(CDB)またはプラガブル・データベース(PDB)へのOCI GoldenGate接続を作成する場合、OCI GoldenGateはデータベースのデフォルトの接続文字列を取得し、Data Guard環境に適したマージされたOracle Net接続記述子を生成します。たとえば:
(DESCRIPTION=
(FAILOVER=ON)(LOAD_BALANCE=OFF)(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=primary-or-scan.example.fqdn)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=standby-or-scan.example.fqdn)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=default-service-name-of-the-selected-db))
)OCI GoldenGateは、ピア・エンドポイント(プライマリおよびスタンバイ)を含むADDRESS_LISTと、CONNECT_DATA用の単一のSERVICE_NAMEを含む1つのDESCRIPTIONを生成します。OCI GoldenGateの高可用性ソリューションでは、すべてのピア(プライマリとスタンバイ)が同じサービス名を使用する必要があります。各ピアで同じ名前を持つロールベースのサービスは必須です。
デフォルトのCDBサービス名は、通常、各データベースの一意の名前が含まれるため、ピア間で異なります。OCI GoldenGateでは、選択したデータベースのデフォルト・サービス名がマージ済ディスクリプタのSERVICE_NAMEとして使用されます。したがって、各ピア上のPRIMARYロールベースのサービス名の名前を、デフォルトのサービス名と一致するように変更する必要があります。
ヒント :
- ロールベースのサービスの使用。PRIMARYでのみ実行される読取り/書込みサービス(およびData Guardを使用する場合、オプションでPHYSICAL_STANDBYの読取り専用サービス)を定義します。
- アプリケーション・サービスの静的リスナー・エントリの回避。動的登録を使用して、データベースが正しいロールにある場合にのみサービスが通知されるようにします。
- srvctlを使用してCDBまたはPDBサービス名を変更する場合は、OCI GoldenGateで手動で管理された接続を作成し(接続の作成画面で「データベース情報の入力」を選択)、一致するように接続文字列を更新します。