ディザスタ・リカバリ
ディザスタ・リカバリへのアプローチを探り、OCI GoldenGateサービスの中断を最小限に抑えます。
OCI GoldenGateでのディザスタ・リカバリについて
ディザスタ・リカバリは、稼働状態を維持し、高いパーセンテージでアクセスできるシステムの機能です。OCI GoldenGateでディザスタ・リカバリを実現するために、プライマリ・デプロイメント(ローカル・スタンバイ)または別のリージョン(クロスリージョン・スタンバイ)と同じリージョンにピア・デプロイメントを作成できます。この設定により、OCI GoldenGateがスタンバイ可用性ドメイン(AD)にリストアされる前に失われたデータの最大量であるリカバリ・ポイント目標(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役割ベースのサービス名の名前を、デフォルトのサービス名と一致するように変更する必要があります。
デフォルトPDBサービスは通常、そのピアと一致するため、OCI GoldenGateは追加の変更なしに、マージされた記述子でデフォルトのサービス名を使用できます。ただし、後でPDBのサービス名を変更しても、OCI GoldenGateは変更を自動的に取得しません。これで、接続を手動で管理する必要があります。接続文字列を手動で入力できる接続が以前に作成されていない場合は、このデータベースへの新しい接続を作成し、「データベース情報の入力」を選択してから、データベース接続文字列を手動で入力する必要があります。
ヒント:
-
ロールベースのサービスの使用 PRIMARYでのみ実行される読取り/書込みサービス(およびData Guardの使用時にPHYSICAL_STANDBY上の読取り専用サービス)を定義します。
-
アプリケーション・サービスの静的リスナー・エントリの回避。動的登録を使用して、データベースが正しいロールの場合にのみサービスが通知されるようにします。
-
srvctlを使用してCDBまたはPDBサービス名を変更する場合は、OCI GoldenGateで手動管理接続を作成し(「接続の作成」画面で「データベース情報の入力」を選択)、一致するように接続文字列を更新します。
さらに学ぶ
ディースター・リカバリについてさらに学習: