DBシステムでのOracle Data Guardの使用
Oracle Data Guardは、企業データの高可用性、データ保護および障害時リカバリを保証します。
Data Guardの実装には2つのデータベースが必要です: 1つはプライマリ・ロールで、もう1つはスタンバイ・ロールです。 プライマリ・データベースとスタンバイ・データベースの2つのデータベースが連携してData Guard関連付けを作成します。 ほとんどのアプリケーションはプライマリ・データベースにアクセスしますが、スタンバイ・データベースはプライマリ・データベースのトランザクション上一貫性のあるコピーです。
Data Guardは、プライマリ・データベースからREDOデータを転送および適用することで、スタンバイ・データベースを保守します。 プライマリ・データベースが使用できなくなった場合、Data Guardを使用して、スタンバイ・データベースをプライマリ・ロールに切り替えるか、フェイルオーバーできます。
ノート:
OCIのスタンバイ・データベースはフィジカル・スタンバイです。この記事では、コンソールを使用してDBシステム内のData Guard関連付けを管理する方法について説明します。
Data Guardの詳細は、「Oracle Data Guardの紹介」を参照してください。
前提条件および一般情報
Data Guardの実装には、2つのDBシステムが必要です。1つはプライマリ・データベースを含み、もう1つはスタンバイ・データベースを含みます。 データベースに対してData Guardを有効にすると、スタンバイ・データベースを持つ新しいDBシステムが作成され、プライマリ・データベースに関連付けられます。
ノート:
Data Guard構成は、プライマリ・データベースごとに1つのスタンバイ・データベースに制限されています。要件の詳細は次のとおりです:
- 両方のDBシステムが同じコンパートメントにある必要があります。
- データベースのバージョンとエディションは同じである必要があります。 26aiデータベースの場合、プライマリ・データベースとスタンバイ・データベースは同じメジャー・リリース・バージョンである必要がありますが、スタンバイ・データベースはより上位のマイナー・バージョンにできます。
- Data Guardは、Oracle Database Standard Editionをサポートしていません。 (Active Data Guardには、Enterprise Edition Extreme Performanceが必要です。)
- Data Guard関連付けの各データベースには、Data Guard関連付けを格納するDBシステム内の他のデータベースによって使用されていない一意の名前(
DB_UNIQUE_NAME)値が必要です。 ただし、プライマリ・データベースとスタンバイ・データベースでは、同じデータベース名DB_NAME値を使用できます。 - データベース・エディションによって、Active Data Guard (ADG)を使用できるかどうかが決まります。 ADGは、Enterprise Edition Extreme Performanceでのみ使用できます。 BYOLライセンス・モデルを使用していて、ライセンスにADGが含まれていない場合は、Enterprise Edition Extreme PerformanceのData Guardを構成するときにADGが有効になっていないことを確認する必要があります。 または、Enterprise EditionまたはEnterprise Edition High Performanceを使用できます。このHigh Performanceでは、デフォルトではADGは有効化されません。 「データベースCLIでのOracle Data Guardの使用」を参照してください。
- プライマリ・データベースとスタンバイ・データベースが同じリージョンにある場合、両方が同じ仮想クラウド・ネットワーク(VCN)を使用する必要があります。
- プライマリ・データベースとスタンバイ・データベースが異なるリージョンにある場合は、各データベースの仮想クラウド・ネットワーク(VCN)をピアリングする必要があります。 「RPCを使用したリモートVCNピアリング」を参照してください。
- プライマリ・データベースとスタンバイ・データベースは異なるリージョンに存在できますが、同じレルムに存在する必要があります。
- プライマリ・データベースとスタンバイ・データベースの
SYSパスワードとTDEウォレット・パスワードはすべて同じである必要があります。 - データベースでTDEキーにOCI Vaultを使用している場合、クロス・リージョンData Guardもサポートされます。
- Data Guard関連付けにある両方のDBシステムのサブネットに対して、セキュリティ・リストのイングレスおよびエグレス・ルールを構成して、TCPトラフィックが適切なポート間で移動できるようにします。 作成するルールがステートフル(デフォルト)であることを確認します。
たとえば、プライマリDBシステムのサブネットでソースCIDR 10.0.0.0/24が使用され、スタンバイDBシステムのサブネットでソースCIDR 10.0.1.0/24が使用される場合は、次の例に示すようにルールを作成します。
ノート:
例のエグレス・ルールは、ポート1521に対してのみTCPトラフィックを有効にする方法を示しています。これは、Data Guardが機能するための最小要件です。 すべての送信ポート(0.0.0.0/0))でTCPトラフィックがすでに有効化されている場合、これらの特定のエグレス・ルールを明示的に追加する必要はありません。既知の問題
- クロス・リージョンData Guardでは、スイッチオーバーの実行後に、新しいプライマリ・データベースでデータベースKMSキーをローテーションできません。
- クロス・リージョンData Guardでは、スイッチオーバーの実行後に、新しいプライマリ・データベースにPDBを作成することはできません。
プライマリDBシステムのサブネットのセキュリティ・リスト
Ingress Rules:
Stateless: No
Source: 10.0.1.0/24
IP Protocol: TCPSource Port Range: All
Destination Port Range: 1521
Allows: TCP traffic for ports: 1521
Egress Rules:
Stateless: No
Destination: 10.0.1.0/24
IP Protocol: TCP
Source Port Range: All
Destination Port Range: 1521
Allows: TCP traffic for ports: 1521 スタンバイDBシステムのサブネットのセキュリティ・リスト
Ingress Rules:
Stateless: No
Source: 10.0.0.0/24
IP Protocol: TCP
Source Port Range: All
Destination Port Range: 1521
Allows: TCP traffic for ports: 1521
Egress Rules:
Stateless: No
Destination: 10.0.0.0/24
IP Protocol: TCP
Source Port Range: All
Destination Port Range: 1521
Allows: TCP traffic for ports: 1521 ルールの作成および編集の詳細は、「セキュリティ・リスト」を参照してください。
Oracle Data Guardの可用性ドメインおよびフォルト・ドメインの考慮事項
Oracleでは、スタンバイ・データベースを含むDBシステムは、可用性と障害リカバリを向上させるために、プライマリ・データベースを含むDBシステムとは異なる可用性ドメインに配置することをお薦めします。 データベースに対してOracle Data Guardを有効にし、スタンバイ・データベースがプライマリ・データベースと同じ可用性ドメインにある場合(選択によって、または単一の可用性ドメイン・リージョンで作業しているため)、Oracleでは、スタンバイ・データベースをプライマリ・データベースとは異なるフォルト・ドメインに配置することをお薦めします。
ノート:
プライマリ・データベースとスタンバイ・データベースが2ノードのOracle RACデータベースであり、両方が同じ可用性ドメインにある場合、プライマリ・データベースまたはスタンバイ・データベースの他のノードが含まれていないフォルト・ドメインには、スタンバイ・データベースの2つのノードのうち1つのみを指定できます。 これは、各可用性ドメインにフォルト・ドメインが3つのみあり、プライマリ・データベースとスタンバイ・データベースの合計が4ノードであるためです。 可用性ドメインおよびフォルト・ドメインの詳細は、「リージョンと可用性ドメイン」を参照してください。APIの使用
APIの使用およびリクエストの署名の詳細は、REST APIおよび「セキュリティ資格証明」を参照してください。 SDKの詳細は、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。
次のAPI操作を使用して、Data Guard関連付けを管理します:
- CreateDataGuardAssociation
- GetDataGuardAssociation
- ListDataGuardAssociations
- SwitchoverDataGuardAssociation
- FailoverDataGuardAssociation
- ReinstateDataGuardAssociation
- TerminateDbSystem
データベース・サービスのAPIの完全なリストは、「データベース・サービスAPI」を参照してください。