Oracle Cloud Infrastructureドキュメント

Oracle Data Guardの使用方法

ノート

このトピックは、Exadata DBシステムには適用されません。

このトピックでは、コンソールを使用してDBシステム内のData Guardの関連付けを管理する方法について説明します。 リージョン間、またはオンプレミスやOracle Cloud Infrastructure DBシステム間でData Guardシステムを構成するには、データベース・ホストに直接アクセスして、DGMGRLユーティリティを使用する必要があります。

Oracle Data Guardの詳細については、Oracle Document Portal「Data Guardの概念と管理」ドキュメントを参照してください。

必要なIAMサービス・ポリシー

Oracle Cloud Infrastructureを使用するには、管理者が作成するポリシーで、コンソールまたはSDK、CLIまたはその他のツールを使用したREST APIのどちらを使用しているかにかかわらず、必要なタイプのアクセスを付与する必要があります。 アクションを実行しようとしたときに、権限のないメッセージや権限のないメッセージを取得する場合は、管理者に付与されているアクセスのタイプと作業するコンパートメントを確認してください。

新しいポリシーの場合は、「ポリシーの開始」「共通ポリシー」を参照してください。

前提条件

Data Guardの実装には、プライマリ・データベースとスタンバイ・データベースを含む2つのDBシステムが必要です。 仮想マシンDBシステム・データベースに対してData Guardを有効にすると、スタンバイ・データベースを含む新しいDBシステムが作成され、プライマリ・データベースに関連付けられます。 ベアメタルDBシステムの場合、Data Guardを有効にする前に、スタンバイとして使用するデータベースを持つDBシステムがすでに存在している必要があります。

ヒント

Oracle Cloud Infrastructure上のData Guard構成は、プライマリ・データベースごとに1つのスタンバイ・データベースに制限されています。

要件の詳細は次のとおりです:

  • 両方のDBシステムは同じコンパートメントになければならず、同じシェイプでなければなりません。
  • データベースのバージョンとエディションは同一でなければなりません。 Data GuardはStandard Editionをサポートしていません。 (Active Data GuardにはEnterprise Edition - Extreme Performanceが必要です)。
  • データベース・バージョンでは、Active Data Guardが有効かどうかが判別されます。 BYOLライセンス・モデルを使用している場合で、ライセンスにActive Data Guardが含まれていない場合は、Enterprise Edition - High Performanceを使用するか、Data Guardを手動で設定する必要があります。 「Database CLIでOracle Data Guardを使用」も参照してください。
  • どちらのDBシステムも同じVCNを使用する必要があり、ポート1521はオープンしている必要があります。
  • 重要! 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トラフィックがすでに有効になっている場合は、これらの特定のエグレス・ルールを明示的に追加する必要はありません。

    プライマリDBシステム・サブネットのセキュリティ・リスト

    
    Ingress Rules:
    
    Stateless: No
    Source: 10.0.1.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.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
    

    ルールの作成と編集については、「セキュリティ・リスト」を参照してください。

Data Guardへの「可用性ドメイン」および「障害ドメイン」 の考慮事項

Oracleでは、可用性および障害リカバリを改善するために、スタンバイ・データベースのDBシステムをプライマリ・データベースのDBシステムとは異なる可用性ドメインに配置することをお薦めします。 データベースでData Guardを有効化し、スタンバイ・データベースがプライマリと同じ可用性ドメインにある場合(選択した場合、あるいは単一の「可用性ドメイン」リージョンで作業している場合)、Oracleはスタンバイ・データベースをプライマリ・データベースの別のフォルト・ドメインに配置することをお薦めします。 プライマリ・データベースとスタンバイ・データベースが2-node RACデータベースであり、両方が同じ「可用性ドメイン」内にある場合、スタンバイ・データベースの2つのノードのいずれか1つのみが、プライマリ・データベースまたはスタンバイ・データベースの他のノードを含まない「障害ドメイン」に含めることができます。 これは、各「可用性ドメイン」が3 「障害ドメイン」のみで、プライマリ・データベースとスタンバイ・データベースが合計4ノードを持つためです。 「可用性ドメイン」および「障害ドメイン」の詳細は、「リージョンと可用性ドメイン」を参照してください。

Data Guardの使用

Oracle Data Guardは、企業データの高可用性、データ保護および障害時リカバリを保証します。 Oracle Cloud Infrastructure Database Data Guardの実装には、プライマリ・ロールとスタンバイ・ロールの2つのデータベースが必要です。 2つのデータベースは、Data Guardアソシエーションを構成します。 ほとんどのアプリケーションはプライマリ・データベースにアクセスします。 スタンバイ・データベースは、トランザクション上一貫性のあるプライマリ・データベースのコピーです。

Data Guardは、プライマリ・データベースからREDOデータを送信および適用することによって、スタンバイ・データベースを維持します。 プライマリ・データベースが使用できなくなった場合、Data Guardを使用して、スタンバイ・データベースをロールに切り替えるか、またはフェイルオーバーできます。

ヒント

Oracle Cloud Infrastructure Databaseのスタンバイ・データベースは、フィジカル・スタンバイ・データベースです。

スイッチオーバー

スイッチオーバーは、プライマリおよびスタンバイ・データベースのロールを逆転させます。 各データベースは引き続き新しいロールでData Guardアソシエーションに参加します。 スイッチオーバーにより、データ消失のない状態が保証されます。 プライマリ・データベースで計画メンテナンスを実行する前に、スイッチオーバーを使用できます。

フェイルオーバー

フェイルオーバーは、既存のプライマリ・データベースに障害が発生した場合、または到達できなくなった場合に、スタンバイ・データベースをプライマリ・ロールに移行させます。 「最高性能」保護モードを使用すると、フェイルオーバーによってデータが失われる可能性があります。

復活

Data Guardアソシエーションで、データベースをスタンバイ・ロールに戻します。 reinstateコマンドを使用すると、障害の原因を訂正した後、障害の発生したデータベースをサービスに戻すことができます。

ノート

ピア(スタンバイ)データベースとのData Guardアソシエーションを持つプライマリ・データベースを終了することはできません。 最初にスタンバイ・データベースを削除してください。 あるいは、スタンバイ・データベースへのスイッチオーバーを実行して、プライマリ・データベースを終了することもできます。

Data Guard対応データベースを含むDBシステムを終了することはできません。 Data Guardの関連付けを削除するには:

  • ベアメタルDBシステム・データベースの場合 - スタンバイ・データベースを終了します。
  • 仮想マシンDBシステム・データベース用 - スタンバイDBシステムを終了します。

コンソールの使用

コンソールを使用すると、データベース間のData Guard関連付けの有効化、switchoverまたはfailover操作のいずれかを使用したData Guard関連付け内のデータベースのロールの変更、および失敗したデータベースのreinstateの変更を実行できます。

Data Guardを有効にすると、プライマリ・データベースとスタンバイ・データベースに対して個別のData Guardアソシエーションが作成されます。

ベアメタルDBシステムでData Guardを有効化するには
仮想マシンDBシステムでData Guardを有効化するには
データベースのスイッチオーバーを実行するには
データベースのフェイルオーバーを実行するには
データベースを元に戻すには
ベアメタルDBシステムでData Guard関連付けを終了するには
仮想マシンDBシステムでData Guard関連付けを終了するには

APIの使用

APIおよび署名リクエストの使用については、REST APIおよび「セキュリティ資格証明」を参照してください。 SDKの詳細は、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。

これらのAPI操作を使用して、Data Guardの関連付けを管理します:

DatabaseサービスのAPIの完全なリストについては、「Database Service API」を参照してください。