Exadata Cloud ServiceでのOracle Data Guardの使用

ノート

この手順は、Exadata Cloud Serviceインスタンスにのみ適用できます。Oracle Data Guardをベア・メタルおよび仮想マシンDBシステムで使用するには、Oracle Data Guardの使用を参照してください。

このトピックでは、Oracle Cloud Infrastructure (OCI)コンソールまたはAPIを使用してExadata Cloud Serviceインスタンス内のOracle Data Guardアソシエーションを管理する方法について説明します。このトピックは、ホストに直接アクセスし、Oracle Data Guardを手動で設定して作成されたData Guard構成には適用されません。

Oracle Cloud InfrastructureコンソールまたはAPIを使用してExadata Cloud Serviceデータベースに対してOracle Data Guardを有効にする場合:

  • スタンバイ・データベースはフィジカル・スタンバイです。
  • ピア・データベース(プライマリおよびスタンバイ):

    • 同じコンパートメント内
    • 両方ともExadataシステム・シェイプ
    • 同一データベース・バージョン
  • プライマリ・データベースごとに1つのスタンバイ・データベースに制限されます。
重要

プライマリ・データベースとスタンバイ・データベースでは、同じバージョンのExadataクラウド・ツール(dbaastools)を使用する必要があります。クラウド・ツールの詳細は、Exadata Cloud Serviceインスタンスでのツールの更新を参照してください。

オンプレミスとOCI Exadata Cloud Serviceインスタンスの間でOracle Data Guardシステムを構成するか、複数のスタンバイを使用してデータベースを構成するには、データベース・ホストに直接アクセスし、Oracle Data Guardを手動で設定する必要があります。

Oracle Data Guardの詳細は、Oracle Help CenterData Guard概要および管理のドキュメントを参照してください。

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

Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。このアクセス権は、コンソール、あるいはSDK、CLIまたはその他のツールを使用したREST APIのいずれを使用している場合でも必要です。権限がない、または認可されていないというメッセージが表示された場合は、自分がどのタイプのアクセス権を持っているか、およびどのコンパートメントで作業するかを管理者に確認してください。

ポリシーに慣れていない場合は、ポリシーの開始および共通ポリシーを参照してください。

前提条件

Exadata Cloud Service Oracle Data Guard実装には、2つの既存のExadata Cloud Serviceインスタンス(Data Guardによって複製される既存のデータベースを含むものと、Data Guardによって新しいスタンバイ・データベースを格納するもの)が必要です。Data Guardを有効にすると、Data Guardの有効化操作中に新しいスタンバイ・データベースを格納するために、スタンバイExadataインスタンスに新しいデータベース・ホームを作成できます。または、スタンバイ・インスタンスの既存のデータベース・ホームにスタンバイ・データベースをプロビジョニングすることもできます。スタンバイ・システムに必要なリソースの作成の詳細は、次のトピックを参照してください:

プライマリまたはスタンバイのExadataインスタンスでデータベース・ホームを作成するときに、データベースに必要なパッチを含むカスタム・データベース・ソフトウェア・イメージを使用できます。カスタムOracle Databaseソフトウェア・イメージの使用の詳細は、Oracle Databaseソフトウェア・イメージを参照してください。

既存のデータベース・ホームにスタンバイ・データベースをプロビジョニングする場合は、スタンバイ・データベースをプロビジョニングする前に、スタンバイ・インスタンスのターゲット・データベース・ホームに、プライマリ・データベースに使用されているすべての必須パッチがあることを確認します。既存のデータベース・ホームへのパッチ適用の詳細は、次のトピックを参照してください:

ネットワーク要件

環境が次のネットワーク要件を満たしていることを確認します:

  • リージョンにまたがってOracle Data Guardを構成する場合、リモート仮想クラウド・ネットワーク(VCN)ピアリングをプライマリ・データベースとセカンダリ・データベースの間で構成する必要があります。ネットワーキングは、新しいExadataリソース・モデルを使用するシステムのクラウドVMクラスタ・リソース、および古いリソース・モデルを使用するシステムのDBシステム・リソースで構成されます。RPCを使用したリモートVCNピアリングを参照してください。

    Exadata Data Guard構成では、OCIは各リージョン内のVCNに対してハブアンドスポーク・ネットワーク・トポロジの使用をサポートしています。つまり、プライマリ・データベースとスタンバイ・データベースはそれぞれ、リモート・ピアリング接続を持つ"ハブ" VCNにネットワーク・トラフィックを渡す"スポーク" VCNを利用できます。このネットワーク・トポロジの設定の詳細は、ハブVCN内の転送ルーティングを参照してください。

  • 単一リージョン内でOracle Data Guardを設定するには、両方のExadata Cloud Serviceインスタンスが同じVCNを使用する必要があります。同じリージョン内にData Guardを設定する場合は、可用性およびディザスタ・リカバリを向上させるために、スタンバイ・データベースを含むインスタンスを、プライマリ・データベースを含むインスタンスとは別の可用性ドメインに配置することをお薦めします。
  • Oracle Data Guardアソシエーションにある両方のExadata Cloud Serviceインスタンスのサブネットに対して、イングレス・セキュリティ・ルールおよびエグレス・セキュリティ・ルールを構成して、該当するポート間でTCPトラフィックを送受信できるようにします。作成するルールがステートフル(デフォルト)であることを確認します。

    たとえば、プライマリExadata Cloud ServiceインスタンスのサブネットでソースCIDR 10.0.0.0/24が使用され、スタンバイ・インスタンスのサブネットでソースCIDR 10.0.1.0/24が使用される場合は、次の例に示すようにルールを作成します。

    ノート

    例のエグレス・ルールは、ポート1521に対してのみTCPトラフィックを有効にする方法を示します。これはOracle Data Guardが動作するための最低要件です。TCPトラフィックがすべての送信ポート上のすべての宛先(0.0.0.0/0)ですでに有効になっている場合は、これらの特定のエグレス・ルールを明示的に追加する必要はありません。

    プライマリExadata Cloud Serviceインスタンスのサブネットのセキュリティ・ルール

    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
    					

    スタンバイExadata Cloud Serviceインスタンスのサブネットのセキュリティ・ルール

    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操作が機能するためには、プライマリ・データベースとスタンバイ・データベースのSYSパスワードとTDEウォレット・パスワードがすべて同じである必要があります。これらのパスワードのいずれかを変更した場合は、対応する残りのパスワードを更新する必要があります。SYSパスワードまたはTDEウォレット・パスワードの変更方法を学習するには、データベース・パスワードの変更を参照してください。

TDEウォレットに変更を加えた場合(新しいPDBのマスター・キーの追加やウォレット・パスワードの変更など)、Oracle Data Guardが引き続き動作できるように、ウォレットをプライマリ・データベースからスタンバイ・データベースにコピーする必要があります。Oracle Database 12cリリース2 (12.2)より前のOracle Databaseバージョンでは、ピアの1つでSYSパスワードを変更した場合、DBシステム間でパスワード・ファイルを手動で同期化する必要があります。

Oracle Data Guardの作業

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

Oracle Data Guardは、プライマリ・データベースからREDOデータを転送および適用することで、スタンバイ・データベースをメンテナンスします。プライマリ・データベースが使用不可能になった場合は、Oracle Data Guardを使用して、スタンバイ・データベースをプライマリ・ロールにスイッチオーバーまたはフェイルオーバーできます。

スイッチオーバー

スイッチオーバーは、プライマリおよびスタンバイのデータベース・ロールを元に戻します。各データベースは、Oracle Data Guardアソシエーションに新しいロールで引き続き参加します。スイッチオーバーは、データの損失がないことを保証します。Oracle Data Guardアソシエーションを使用してExadata Cloud Serviceインスタンス上で計画メンテナンスを実行するには、通常、プライマリ・データベースをスタンバイ・ロールに切り替え、スタンバイ・データベースでメンテナンスを実行してから、スタンバイ・データベースをプライマリ・ロールに戻します。

フェイルオーバー

フェイルオーバーは、既存のプライマリ・データベースが失敗するか使用できなくなった後に、スタンバイ・データベースをプライマリ・ロールに遷移させます。最大パフォーマンス保護モードを使用すると、フェイルオーバーによってデータが失われる場合があります。

回復

Oracle Data Guardアソシエーションでデータベースをスタンバイ・ロールに回復します。回復コマンドを使用すると、障害の原因を訂正した後に障害が発生したデータベースを再稼働させることができます。

ノート

ピア(スタンバイ)データベースとのOracle Data Guardアソシエーションを持つプライマリ・データベースは終了できません。最初にスタンバイ・データベースを削除します。または、プライマリ・データベースをスタンバイ・ロールにスイッチオーバーしてから、それを終了できます。

Oracle Data Guardが有効になっているデータベースを含むExadataクラウドVMクラスタまたは DBシステムは終了できません。最初に、スタンバイ・データベースを終了して、Oracle Data Guardアソシエーションを削除する必要があります。

コンソールの使用

コンソールを使用して、データベース間のOracle Data Guardアソシエーションの有効化、スイッチオーバーまたはフェイルオーバー操作のいずれかを使用したOracle Data Guardアソシエーションのデータベースのロールの変更、および障害が発生したデータベースの回復を実行します。

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

Exadata Cloud Serviceインスタンス・データベースでOracle Data Guardを有効にするには
  1. ナビゲーション・メニューを開きます。「Oracle Database」をクリックし、「Oracle CloudのExadata」をクリックします。
  2. Oracle Data Guardを有効化するデータベースがあるExadata Cloud Serviceインスタンスを含むコンパートメントを選択します。
  3. プライマリ・ロールを引き継ぐデータベースを含むクラウドVMクラスタまたはDBシステムに移動します:

    クラウドVMクラスタ(新しいリソース・モデル) 「Oracle CloudのExadata」で、「Exadata VMクラスタ」をクリックします。VMクラスタのリストで、アクセスするVMクラスタを検索し、強調表示された名前をクリックしてクラスタの詳細ページを表示します。

    DBシステム 「ベア・メタル、VMおよびExadata」で、「DBシステム」をクリックします。DBシステムのリストで、アクセスするExadata DBシステムを検索し、その名前をクリックしてその詳細を表示します。

  4. VMクラスタまたはDBシステムの詳細ページの「データベース」セクションで、プライマリにするデータベースの名前をクリックします。
  5. 「データベースの詳細」ページの「リソース」セクションで、「Data Guardアソシエーション」をクリックします。
  6. 「Data Guardアソシエーション」セクションで、「Data Guardの有効化」をクリックします。
  7. 「Data Guardの有効化」ページで、Oracle Data Guardアソシエーションを構成します。

    • 「ピアDBシステムの選択」セクションで、スタンバイ・データベースについて次の情報を指定して、スタンバイ・データベースを配置できるExadataシステムのリストを取得します:

      • リージョン: スタンバイ・データベースを配置するリージョンを選択します。プライマリ・データベースが存在するリージョンがデフォルトで選択されています。スタンバイ・データベースは、別のリージョンに配置することもできます。このフィールドに関連付けられたヒントのテキストで、プライマリ・データベースが配置されているリージョンがわかります。
      • 可用性ドメイン: スタンバイ・データベースの可用性ドメインを選択します。このフィールドに関連付けられたヒントのテキストで、プライマリ・データベースが配置されている可用性ドメインがわかります。
      • シェイプ:スタンバイExadataシステムのシェイプを選択します。
      • Data Guardピア・リソース・タイプ: 「DBシステム」または「VMクラスタ」を選択します。
      • ドロップダウン・リストからDBシステムまたはクラウドVMクラスタを選択します。
    • Data Guardアソシエーション詳細で、次の情報を指定します:

    • 「データベース・ホームの選択」セクションで、次のいずれかを選択します:

      • 既存のデータベース・ホームの選択: このオプションを使用する場合は、「データベース・ホームの表示名」ドロップダウン・リストからホームを選択します。
      • 新規データベース・ホームの作成: このオプションを選択した場合は、「データベース・ホームの表示名」フィールドに新しいデータベース・ホームの名前を入力します。「データベース・イメージの変更」をクリックして、新しいデータベース・ホームのデータベース・ソフトウェア・イメージを選択します。「データベース・ソフトウェア・イメージの選択」パネルで、次の手順を実行します。
        1. 新しいデータベース・ホームの作成に使用するデータベース・ソフトウェア・イメージが含まれているコンパートメントを選択します。
        2. 新しいデータベース・ホームで使用するOracle Databaseソフトウェアのバージョンを選択し、選択したソフトウェアのバージョンに使用可能なイメージのリストからイメージを選択します。
        3. 「選択」をクリックします。
        重要

        Oracleでは、プライマリ・データベースとスタンバイ・データベースのデータベース・ホームに同じパッチ・リストを適用することをお薦めします。
    • 「スタンバイ・データベースの構成」セクションで、次のように入力します:

      ヒント

      スタンバイ・データベースの作成後にdb_unique_nameおよびSID接頭辞を変更することはできません。
      • データベースの一意の名前:オプションで、DB_UNIQUE_NAMEデータベース・パラメータの値を指定します。この値は、プライマリおよびスタンバイのクラウドVMクラスタ全体で一意である必要があります。

        一意の名前は次の要件を満たす必要があります:

        • 最大30文字です
        • 英数字またはアンダースコア(_)文字のみを含みます。
        • 先頭はアルファベット
        • VMクラスタ全体で一意。テナンシ全体で一意になるようにすることをお薦めします。

        指定しない場合、次のように一意の名前値が自動的に生成されます: <db_name>_<3_chars_unique_string>_<region-name>

      • データベース・パスワード:プライマリ・データベースのデータベース管理者パスワード。これと同じデータベース管理者パスワードをスタンバイ・データベースで使用します。

        ノート

        管理者パスワードとTDEウォレット・パスワードは同じであることが必要です。パスワードが同じでない場合は、データベース・パスワードの変更の手順に従ってパスワードを同一にしてください。
  8. 「拡張オプションの表示」をクリックし、データベースの拡張オプションを指定します

    • 管理:

      Oracle SID接頭辞: Oracle Databaseインスタンス番号は、INSTANCE_NAMEデータベース・パラメータを作成するために自動的にSID接頭辞に追加されます。INSTANCE_NAMEパラメータは、SIDとも呼ばれます。SIDはクラウドVMクラスタ全体で一意です。指定しない場合、SID接頭辞のデフォルトはdb_unique_nameの最初の12文字になります。

      ノート

      SID接頭辞の入力は、Oracle 12.1以上のデータベースでのみ使用できます。

      SID接頭辞は要件を満たしている必要があります。

      • 最大12文字です
      • 英数字のみを含みます。
      • 先頭はアルファベット
      • VMクラスタ内、およびプライマリ・データベースとスタンバイ・データベース間で一意
  9. Data Guardの有効化」をクリックします。

    アソシエーションを作成すると、データベースとそのピアの詳細に、それぞれのロールが「プライマリ」または「スタンバイ」として表示されます。

データベースのスイッチオーバーを実行するには

スイッチオーバー操作は、プライマリ・データベースのData Guardアソシエーションを使用して開始します。

  1. ナビゲーション・メニューを開きます。「Oracle Database」をクリックし、「Oracle CloudのExadata」をクリックします。
  2. Oracle Data Guardを有効化するデータベースがあるExadata Cloud Serviceインスタンスを含むコンパートメントを選択します。
  3. Data Guardアソシエーションを含むクラウドVMクラスタまたはDBシステムに移動します:

    クラウドVMクラスタ(新しいリソース・モデル) 「Oracle CloudのExadata」で、「Exadata VMクラスタ」をクリックします。VMクラスタのリストで、アクセスするVMクラスタを検索し、強調表示された名前をクリックしてクラスタの詳細ページを表示します。

    DBシステム 「ベア・メタル、VMおよびExadata」で、「DBシステム」をクリックします。DBシステムのリストで、アクセスするExadata DBシステムを検索し、その名前をクリックしてその詳細を表示します。

  4. 「リソース」で、「Data Guardアソシエーション」をクリックします。
  5. スイッチオーバーを実行するData Guardアソシエーションに対して、「アクション」メニュー「スイッチオーバー」の順にクリックします。
  6. 「データベースのスイッチオーバー」ダイアログ・ボックスで、データベース管理パスワードを入力し、「OK」をクリックします。

    ここで、このデータベースはスタンバイのロールを引き受け、スタンバイはData Guardアソシエーションのプライマリのロールを引き受ける必要があります。

データベースのフェイルオーバーを実行するには

フェイルオーバー操作は、スタンバイ・データベースのData Guardアソシエーションを使用して開始します。

  1. ナビゲーション・メニューを開きます。「Oracle Database」をクリックし、「Oracle CloudのExadata」をクリックします。
  2. Oracle Data Guardを有効化するデータベースがあるExadata Cloud Serviceインスタンスを含むコンパートメントを選択します。
  3. Data Guardアソシエーションを含むクラウドVMクラスタまたはDBシステムに移動します:

    クラウドVMクラスタ(新しいリソース・モデル) 「Oracle CloudのExadata」で、「Exadata VMクラスタ」をクリックします。VMクラスタのリストで、アクセスするVMクラスタを検索し、強調表示された名前をクリックしてクラスタの詳細ページを表示します。

    DBシステム 「ベア・メタル、VMおよびExadata」で、「DBシステム」をクリックします。DBシステムのリストで、アクセスするExadata DBシステムを検索し、その名前をクリックしてその詳細を表示します。

  4. 「リソース」で、「Data Guardアソシエーション」をクリックします。
  5. フェイルオーバーを実行するData Guardアソシエーションについて、「フェイルオーバー」をクリックします。
  6. 「データベースのフェイルオーバー」ダイアログ・ボックスで、データベース管理パスワードを入力し、「OK」をクリックします。

    このデータベースではプライマリのロールを引き受け、古いプライマリのロールを無効スタンバイとして表示する必要があります。

Exadata Cloud Service Data GuardアソシエーションのOracle Data Guard保護モードを編集するには
  1. ナビゲーション・メニューを開きます。「Oracle Database」をクリックし、「Oracle CloudのExadata」をクリックします。
  2. Oracle Data Guardを有効化するデータベースがあるExadata Cloud Serviceインスタンスを含むコンパートメントを選択します。
  3. Data Guardアソシエーションを含むクラウドVMクラスタまたはDBシステムに移動します:

    クラウドVMクラスタ(新しいリソース・モデル) 「Oracle CloudのExadata」で、「Exadata VMクラスタ」をクリックします。VMクラスタのリストで、アクセスするVMクラスタを検索し、強調表示された名前をクリックしてクラスタの詳細ページを表示します。

    DBシステム 「ベア・メタル、VMおよびExadata」で、「DBシステム」をクリックします。DBシステムのリストで、アクセスするExadata DBシステムを検索し、その名前をクリックしてその詳細を表示します。

  4. 「リソース」で、「Data Guardアソシエーション」をクリックします。
  5. 管理するData Guardアソシエーションについて、「アクション」メニューをクリックし、「保護モードの編集」をクリックします。
  6. 「保護モードの編集」パネルで、Data Guardアソシエーションを構成します。

    • 保護モード:保護モードは「最大パフォーマンス」または「最大可用性」です。これらのオプションの詳細は、Oracle Data Guardの保護モードを参照してください。
    • トランスポート・タイプ:このOracle Data Guardアソシエーションに使用されるREDOトランスポート・タイプ。これらのオプションの詳細は、「データ保護モードのREDO転送サービスの管理」を参照してください。

    • データベース管理パスワード:データベースのADMINパスワードを入力します。
  7. 「保存」をクリックします。
データベースを回復するには

プライマリ・データベースをスタンバイにフェイルオーバーした後、スタンバイはプライマリ・ロールを引き継ぎ、古いプライマリは無効なスタンバイとして識別されます。障害の原因を修正した後、Data Guardアソシエーションを使用して、障害が発生したデータベースを現在のプライマリの正常なスタンバイとして回復できます。

  1. ナビゲーション・メニューを開きます。「Oracle Database」をクリックし、「Oracle CloudのExadata」をクリックします。
  2. Oracle Data Guardを有効化するデータベースがあるExadata Cloud Serviceインスタンスを含むコンパートメントを選択します。
  3. Data Guardアソシエーションを含むクラウドVMクラスタまたはDBシステムにナビゲートします。

    クラウドVMクラスタ(新しいリソース・モデル) 「Oracle CloudのExadata」で、「Exadata VMクラスタ」をクリックします。VMクラスタのリストで、アクセスするVMクラスタを検索し、強調表示された名前をクリックしてクラスタの詳細ページを表示します。

    DBシステム 「ベア・メタル、VMおよびExadata」で、「DBシステム」をクリックします。DBシステムのリストで、アクセスするExadata DBシステムを検索し、その名前をクリックしてその詳細を表示します。

  4. 「リソース」で、「Data Guardアソシエーション」をクリックします。
  5. このデータベースを回復するData Guardアソシエーションに対して、「アクション」メニューをクリックしてから「回復」をクリックします。
  6. 「データベースの回復」ダイアログ・ボックスで、データベース管理パスワードを入力し、「OK」をクリックします。

    ここで、このデータベースをData Guardアソシエーション内のスタンバイとして回復する必要があります。

Exadata Cloud ServiceインスタンスでData Guardアソシエーションを終了するには

Exadata Cloud Serviceインスタンスでは、スタンバイ・データベースを終了することでData Guardアソシエーションを削除します。

  1. ナビゲーション・メニューを開きます。「Oracle Database」をクリックし、「Oracle CloudのExadata」をクリックします。
  2. Oracle Data Guardを有効化するデータベースがあるExadata Cloud Serviceインスタンスを含むコンパートメントを選択します。
  3. スタンバイ・データベースを含むクラウドVMクラスタまたはDBシステムに移動します:

    クラウドVMクラスタ(新しいリソース・モデル) 「Oracle CloudのExadata」で、「Exadata VMクラスタ」をクリックします。VMクラスタのリストで、アクセスするVMクラスタを検索し、強調表示された名前をクリックしてクラスタの詳細ページを表示します。

    DBシステム 「ベア・メタル、VMおよびExadata」で、「DBシステム」をクリックします。DBシステムのリストで、アクセスするExadata DBシステムを検索し、その名前をクリックしてその詳細を表示します。

  4. 終了するスタンバイ・データベースについて、「アクション」メニューをクリックし、「終了」をクリックします。
  5. 「データベースの終了」ダイアログ・ボックスで、データベースの名前を入力し、「OK」をクリックします。

APIの使用

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

Exadata Cloud ServiceインスタンスでData Guardアソシエーションを管理するには、次のAPI操作を使用します:

データベース・サービスのAPIの完全なリストは、データベース・サービスAPIを参照してください。