Oracle データベースのバックアップと DR のワークフローを作成する

Backup and DR ワークフローは、App Manager で定義されます。バックアップと DR のワークフローは、生成元のソースデータとしてバックアップ本番環境データを使用します。

  • 直接マウント: 直接マウントは、アプリケーション データをマウントしてユーザーが利用できるようにする前にスクラブする必要がない場合に使用されます。アプリケーション データは、標準マウントを使用して、データのみ、仮想アプリケーション、またはデータと仮想アプリケーションの両方としてマウントできます。直接マウントを使用すると、データを実際に移動することなく、バックアップ データをほぼ瞬時に利用できるようになります。
  • LiveClones: LiveClone は通常、アプリケーションにセンシティブ データが含まれており、マウントしてユーザーに提供する前にスクラブする必要がある場合に、Backup and DR ワークフローで使用されます。アプリケーション データは、標準マウントを使用して、データのみ、仮想アプリケーション、またはデータと仮想アプリケーションの両方としてマウントできます。LiveClone の更新、スクラビング、マウントは、スケジュールに従って自動的に行うことも、オンデマンドで行うこともできます。

Oracle データを仮想アプリケーションとして直接マウントする

アプリケーション イメージにセンシティブ データが含まれていない場合は、直接マウントのバックアップと DR のワークフローを使用します。これにより、バックアップと DR のワークフローで、最初に LiveClone を定義してスクラブすることなく、アプリケーションのデータを仮想アプリケーションとして、またはアプリケーション データのみとしてマウントできます。直接マウントにより、アプリケーション データと仮想アプリケーションをほぼ瞬時に利用できるようになります。

この例では、次の処理を行う Backup and DR ワークフローを定義します。

  • 選択した 1 つのプロダクション イメージから、マウントされたアプリケーション データを生成または更新します。
  • 最新の本番環境データでアプリケーション データを更新するスケジュールを定義します。スケジュール設定された Backup and DR ワークフローは、オンデマンドで実行することもできます。
  • アプリケーション データをマウントします。
  • データを使用して仮想アプリケーションを作成できます。

次の手順に沿って、Oracle データベースのバックアップと DR のワークフローを定義します。

  1. バックアップと DR サービスの管理コンソールで、[App Manager] > [Workflows] をクリックします。

  2. ページの右上にある [Workflow] をクリックします。

    [Add Workflow: Select an Application] ページが開きます。

  3. マネージド データベースを右クリックして [次へ] をクリックします。

  4. [ワークフローの追加: 構成] ページで、バックアップと DR ワークフローの名前を指定し、[直接マウント] を選択して、バックアップと DR ワークフローを管理するアプライアンスを選択します。Backup and DR ワークフロー名に特殊文字は使用できません。

  5. [スケジュール タイプ] で [スケジュール] を選択し、バックアップと DR ワークフローを実行する頻度を割り当てます。タイムセレクタは 24 時間形式です。スケジュール設定された Backup and DR ワークフローは、オンデマンドで実行することもできます。

  6. [Direct Mount Settings] の [Source Image] で、Backup and DR ワークフローを実行するスナップショット イメージを選択し、マウントに識別可能なラベルを付けます。

  7. [Hosts] セクションで、データがマウントされるサーバーを選択します。複数のサーバーを選択できます。バックアップと DR ワークフローを実行するユーザーは、必要に応じてデータを他のサーバーにマウントできます。

  8. [マッピング オプション] で、マウント ポイントを追加します。マウントを指定しない場合、バックアップと DR エージェントがマウント ポイントを選択します。

  9. 必要に応じて、[Preferred diskgroup name] にディスク グループ名を入力します。

  10. 必要に応じて、[RAC node list] に RAC ノードの IP アドレスをコロンで区切って入力します。

  11. 必要に応じて、[Pre Script] で事前スクリプトを指定します。事前スクリプトは、アプリケーションのマウントやマウント解除の前に環境を構成するために使用されます。このスクリプトは、マウントされたイメージをホストするサーバーの /act/scripts というフォルダに置かれている必要があります。スクリプトの詳細については、Backup and DR ワークフローの事前スクリプトと事後スクリプトをご覧ください。

  12. 必要に応じて、[Post Script] で事後スクリプトを指定します。事後スクリプトは、マウントやマウント解除の後にデータを操作するために使用されます。このスクリプトは、マウントされたイメージをホストするサーバーの /act/scripts というフォルダに置かれている必要があります。スクリプトの詳細については、Backup and DR ワークフローの事前スクリプトと事後スクリプトをご覧ください。

  13. スクリプトを指定した場合は、それらのスクリプトが完了するのに十分な長さのタイムアウトを指定します。

  14. [Remove mounted image after processing] チェックボックスは、マウントされたデータをスクリプトで処理する場合にオンにするのが一般的です。このオプションをオンにすると、スクリプトのタスクの終了後に仮想アプリケーションがマウント解除されて削除されます。

  15. 次のいずれかのオプションを選択します。

    • データのみが必要な場合は、[完了] をクリックすると、Backup and DR ワークフローがスケジュールどおりに実行されます。適切なアクセス権を持つユーザーは、アプリケーション データを使用して環境をプロビジョニングおよび再プロビジョニングするために、このバックアップと DR のワークフローをオンデマンドで実行することもできます。
    • 仮想アプリケーションを作成する場合は、次の手順に進みます。
  16. [アプリケーション対応マウントを実行する] チェックボックスをオンにします。アプリケーション対応マウントを実行するためのアプリケーション固有のオプションが表示されます。

  17. 用意されたスペースに Oracle 関連のオプションを入力します。疑問符 ? をクリックします。オプションの横にある疑問符をクリックすると、ヘルプテキストが表示されます。

  18. 黒い矢印をクリックして [Advanced Options] を開き、必要に応じて残りのオプションを指定します。

  19. [Restore with Recovery] をオンにします。これにより、ログが利用可能な場合にそれらのログを適用して、データベースを特定の時点の状態に復元できるようになります。

  20. この時点で、次のタスクを完了できます。

    • [Protect new application] オプションをオンにします。これにより、バックアップ プラン ポリシー テンプレートとリソース プロファイルを適用して、仮想アプリケーションを新しいアプリケーションとして保護できます。詳細については、バックアップ プランのポリシー テンプレートプロファイルをご覧ください。
    • [完了] をクリックすると、バックアップと DR ワークフローがスケジュールどおりに実行されます。適切なアクセス権を持つユーザーは、この Backup and DR ワークフローをオンデマンドで実行して、仮想アプリケーションを使用して環境をプロビジョニングおよび再プロビジョニングすることもできます。

LiveClone とマスクツールを使用してスクラブされたデータまたは仮想アプリケーションを作成する

LiveClone バックアップと DR のワークフローは、通常、本番環境データに機密情報が含まれている場合に使用されます。LiveClone バックアップと DR ワークフローを使用すると、本番環境データから LiveClone を定義し、マウントする前に LiveClone のデータをスクラブできます。

次の例では、Backup and DR ワークフローで次の操作を行うことができます。

  • 機密情報としてマークされた選択した本番環境イメージから、新しい LiveClone を生成するか、既存の LiveClone を更新します。
  • 最新の本番環境データで LiveClone を更新するスケジュールを定義します。スケジュール設定された Backup and DR ワークフローは、オンデマンドで実行することもできます。
  • スクリプトを使用して、LiveClone からセンシティブ データをスクラブします。
  • スクラブされた仮想アプリケーションを機密情報ではないとしてマークします。
  • スクラブされたイメージを、指定されたホストに仮想アプリケーション(アプリケーション認識マウント)としてマウントします。

次の手順に沿って、この Backup and DR ワークフローを定義します。

  1. 管理コンソールで [App Manager] > [Workflows] を開きます。
  2. 右上にある [ワークフローを追加] をクリックします。
  3. [Add Workflow: Select an Application] ページで、センシティブ データをスクラブするアプリケーションを右クリックして [Next] を選択します。

    [Add Workflow: Configure] ページが開きます。

  4. バックアップと DR のワークフローの名前を指定します。Backup and DR ワークフロー名に特殊文字は使用できません。

  5. [Workflow Type] で [LiveClone] を選択します。

    [LiveClone Settings] が開きます。

  6. [Schedule Type] で、[Scheduled] または [On Demand] を選択します。スケジュール設定された Backup and DR ワークフローは、オンデマンドで実行することもできます。

  7. [Scheduled] を選択した場合は、Backup and DR ワークフローを実行するスケジュールを定義します。

    タイムセレクタは 24 時間形式です。

  8. [ソースイメージ] で、スクラブするイメージを生成するポリシーの最新のスナップショット イメージを選択します。

  9. LiveClone に識別可能なラベルを指定します。

  10. [Snapshot Pool] で、LiveClone が存在するスナップショット プールを選択します。この LiveClone を保存するのに十分な容量が割り当てられているスナップショット プールを選択してください。

    [Mount for pre-processing] を有効にします。次の画面で、LiveClone をホストにマウントしてセンシティブ データをスクラブできます。

  11. [Mark Data Non-Sensitive] オプションは、センシティブ データが含まれているものとしてマークされているアプリケーションを選択した場合にのみ表示されます。スクラブ後のアプリケーションにセンシティブ データが含まれない場合は、このオプションをオンにします。これにより、センシティブ データにアクセスできないユーザーが、Backup and DR ワークフローにアクセスして作業環境をプロビジョニングできるようになります。

  12. LiveClone をマウントする ホストを選択します。

  13. デフォルト以外の場所にイメージをマウントする場合は、[Mapping Options] の [Mount Location] でマウント ポイントを追加します。マウント ポイントを指定しない場合、バックアップと DR エージェントがマウント ポイントを割り当てます。

  14. 必要に応じて、[Preferred diskgroup name] にディスク グループ名を入力します。

  15. 必要に応じて、[RAC node list] に RAC ノードの IP アドレスをコロンで区切って入力します。

  16. Optim データ プライバシー マスキングを使用することも、独自のカスタム スクリプトを使用することもできます。

    • Optim Data Privacy マスキングを使用する場合は、サービスセットと分単位のタイムアウト値を入力します。
    • カスタム スクリプトを使用する場合は、必要に応じて [Pre Script] で事前スクリプトを指定します。事前スクリプトは、アプリケーションのマウントやマウント解除の前に環境を構成するために使用されます。必要に応じて、[Post Script] で事後スクリプトを指定します。この例の事後スクリプトは、マウントされたアプリケーションからセンシティブな情報をスクラブします。スクリプトが完了するのに十分な長さのタイムアウトを指定します。
  17. 仮想アプリケーションが必要ない場合は、[追加] をクリックします。バックアップと DR ワークフローがスケジュールどおりに実行されます。適切なアクセス権を持つユーザーは、このバックアップと DR のワークフローをオンデマンドで実行して、アクセス権がある任意のサーバーをアプリケーション データでプロビジョニングおよび再プロビジョニングできます。

    この LiveClone の仮想アプリケーションが必要な場合は、操作を続行します。

  18. [Create New Virtual Application] を有効にして [Next] をクリックします。[Additional Oracle settings] のオプションが表示され、プロセスが完了します。

  19. 仮想アプリケーションをバックアップと DR で保護する場合は、[新しいアプリケーションを管理] を有効にします。このオプションを選択した場合は、適用するポリシー テンプレートとリソース プロファイルを選択する必要があります。

  20. 矢印をクリックして [詳細オプション] を開きます。[Restore with Recovery] をオンにして、利用可能なログを適用してデータベースを特定の時点に復元します。

  21. このデータベースのその他の Oracle 設定を必要に応じて指定します。各ラベルをクリックすると、ヘルプが表示されます。

  22. 最後に、[Remove mounted image after done] チェックボックスをオンにします。通常は、マウントされたデータをスクリプトで処理する場合に選択します。このオプションをオンにすると、スクリプトのタスクの終了後に仮想アプリケーションがマウント解除され、削除できるようになります。

  23. [追加] をクリックします。

バックアップと DR のワークフローを使用して Oracle データベース スキーマを更新する

Oracle 12c 以降を使用している場合は、Oracle 12c データベース PDB をターゲットの既存のデータベース コンテナに仮想 PDB として提示するをご覧ください。

複数のアプリケーションを含むソース データベース インスタンスがあり、各アプリケーションに独自のスキーマがある場合は、次の操作を行います。

  • スキーマレベルで仮想コピーを作成して更新し、各スキーマを同じターゲットまたは別のターゲットに個別に更新します。
  • 単一のスキーマの複数の仮想コピーを作成し、異なるスキーマの単一のターゲットに更新します。各スキーマには独自の更新スケジュールがあります。

このセクションには、次の情報が含まれます。

仕組み: 転送可能な表領域を使用したバックアップと DR の仮想コピー

同じソース インスタンスまたは複数のソース インスタンスから、1 つのターゲット Oracle インスタンスに複数の仮想コピーを作成して更新できます。

  1. アプリケーション対応マウントのバックアップと DR ワークフローを設定して、一時インスタンスでアプリケーション対応マウントを作成します。
  2. ターゲット インスタンスで実行するプリスクリプトを設定します。オフラインで、ターゲット インスタンスで更新する表領域を削除します。
  3. 一時インスタンスとターゲット インスタンスで実行される事後スクリプトを設定します。
  4. 一時インスタンスで、次の操作を行います。
    1. テーブルスペースの名前を変更する
    2. テーブルスペースを読み取り専用に変更する
    3. EXPDP の場合は、テーブルスペース メタデータをエクスポートします。
    4. 一時インスタンスをシャットダウンします。
  5. ターゲット インスタンスの場合:
    1. IMPDP の場合は、テーブルスペース メタデータをインポートします(ターゲット インスタンスにスキーマを再マッピングする TRANSPORT_DATAFILES)。
    2. テーブル スペースを読み取り / 書き込みに変更する

始める前に

開始する前に、次の手順に沿って操作してください。

  1. データベースのバックアップがバックアップ プランのポリシーに従って実行されていることを確認します。
  2. ターゲット サーバーでスクリプトを設定します。

    1. root としてデータベース サーバーにログインします。/act ディレクトリに移動し、次のコマンドを実行して /act/scripts ディレクトリを作成します(存在しない場合)。

        cd /act
        mkdir -p /act/scripts
        cd /act/scripts
      
    2. /act/act_scripts/objectrefresh/ からすべてのファイルをコピーする

    3. act_<schema>_refresh.conf をターゲット スキーマ名 testuser(<schema> が testuser)の act_testuser_refresh.conf に移動します。

      ここで

      • SOURCE_SCHEMA_NAME: ターゲットに提示されるソース データベース スキーマ。
      • TARGET_SID: スキーマが更新されるターゲット データベースの SID。
      • TARGET_SCHEMA_NAME: ソーススキーマを使用して更新するターゲット データベース スキーマ。

Backup and DR ワークフローを作成する

次の手順に沿って、スキーマ更新を実行する Backup and DR ワークフローを作成します。

  1. 管理コンソールで [App Manager] > [Workflows] を開き、[Add Workflow] を選択します。
  2. [Add Workflow: Select an Application] リストで、使用するデータベースを右クリックして [Next] をクリックします。
  3. [Add Workflow: Configure] ページが表示されます。

    • Backup and DR ワークフローに一意の名前を指定します。Backup and DR ワークフロー名に特殊文字は使用できません。
    • [Direct Mount] を選択します。
    • バックアップと DR ワークフローを実行するバックアップ/リカバリ アプライアンスを選択します。
    • [Schedule Type] で [On Demand] を選択します。
    • [ソース] イメージで、最新のスナップショットか本番環境の最新のスナップを選択します。
    • [マウント ラベル] で、アクティブなマウントを表示したときにこの Backup and DR ワークフローからのマウントを識別できるように、一意の識別子を指定します。
    • [Hosts] リストからターゲット Host を選択します。
  4. [Mapping Options] で、次の操作を行います。

    • マウントされたドライブの場所を入力します(例: )。M:、D:\testdb1、/oracledata/db1data - 一時コピーを ASM 以外の場所に配置する場合。
    • [Preferred Diskgroup Name] にディスク グループ名を追加します。
    • [RAC Node List] に、IP アドレスのコロン区切りリストを入力します。
  5. [Pre Script] フィールドに「act_ttswfpre.sh actSCHEMArefresh.conf」と入力します。ここで、actSCHEMA_refresh.conf は、ステップ 1 で作成したファイルです。

  6. [Post Script] フィールドに「ttswfpost.sh actSCHEMArefresh.conf」と入力します。actSCHEMA_refresh.conf は、ステップ 1 で作成したファイルです。

  7. 1800 秒以上のタイムアウト値を入力します。

  8. [Create New Virtual Application] を選択します。

  9. ターゲット データベースの SID を入力します。これは一時 SID です。

  10. [OS Username] に、ターゲット マシンの Oracle ソフトウェア バイナリを所有するユーザーの OS ユーザー名を入力します。

  11. [ORACLE_HOME] に、構成ファイルで指定されている Oracle ホーム ディレクトリを入力します。

  12. 矢印をクリックして [Advanced Options] を開きます。[TNS ADMIN Directory Path] にターゲット マシンの TNS Admin ディレクトリのパスを入力し、[SGA%] で一時インスタンスの SGA の割合の下限を指定します。フィールド ラベルをクリックすると、ヘルプが表示されます。

  13. [Standalone Non-RAC] を選択します。

  14. [追加] をクリックします。

Backup and DR ワークフローを実行する

Backup and DR ワークフローを作成したら、次の手順で実行します。

  1. Backup and DR ワークフローを右クリックして、[今すぐ実行] をクリックします。
  2. [Initiate Scheduled Workflow Now] を選択して [Submit] をクリックします。

    ログは、ターゲット ホストの /var/act/log でモニタリングできます。

  3. バックアップと DR ワークフローに成功状態が表示されると、ターゲット データベースのスキーマが更新されます。

    1. ターゲット データベースに TARGET_SCHEMA_NAME が存在しない場合、Backup and DR は最初のユーザーを作成し、デフォルトのユーザー パスワードは abc#1234 になります。
    2. ターゲット データベースの更新されたスキーマの表領域は、次のように、スキーマ名を接頭辞としてターゲットに提示されます: (スキーマ)_(ソース表領域名)

マウントされたイメージをマウント解除する

次の手順で、マウントされたイメージをマウント解除します。

  1. ターゲット データベースの表領域とデータファイルを削除します。

    ```sql
    SQL>alter tablespace <TBS_NAME> offline immediate;
    SQL>drop tablespace <TBS_NAME> including contents and datafiles;
    ```
    
  2. [App Manager] > [Active Mounts] ページを開きます。マウントを解除するイメージを右クリックして [Unmount and Delete] を選択し、[Submit] をクリックしてジョブを送信します。

Oracle 12c 以降のデータベース PDB を仮想 PDB としてターゲットの既存のデータベース コンテナに提示する

12c より前のバージョンの Oracle を使用している場合は、バックアップと DR のワークフローを使用して Oracle データベース スキーマを更新するをご覧ください。

たとえば、複数のアプリケーションを含むソース データベース インスタンスがあり、各アプリケーションに独自の PDB があるとします。スキーマレベルで仮想コピーを作成して更新し、各 PDB を同じターゲットまたは別のターゲットに個別に更新できます。手順は次のとおりです。

始める前に

始める前に、ターゲット サーバーでスクリプトを設定します。

  1. /act/act_scripts/pdbrefresh からスクリプトの zip ファイルを取得します。
  2. root としてデータベース サーバーにログインします。
  3. /act に移動し、/act/scripts ディレクトリを作成します(存在しない場合)。

    cd /act
    mkdir -p /act/scripts
    cd /act/scripts
    
  4. ファイルを抽出します。

  5. スクリプト ファイルを /act/scripts にコピーします。

    cp /act/act_scripts/pdbrefresh/act_pdbclone_pre.sh /act/scripts/
    cp /act/act_scripts/pdbrefresh/act_pdbclone_post.sh /act/scripts/
    

PDB クローンジョブを実行する Backup and DR ワークフローを作成する

  1. [App Manager Workflows] ページで、[Add Workflow] をクリックします。
  2. Oracle データベースを右クリックして、[次へ] を選択します。
  3. バックアップと DR ワークフローの名前を入力し、[Direct Mount] と [On Demand] を選択します。

  4. ターゲット ホストのチェックボックスをオンにします。

  5. 一時コピーが非 ASM に配置される場合は、[マッピング オプション] で、[マウント アクション] として [マウント ポイントを指定] を選択し、マウント ポイントを指定します。

  6. [Pre Script] フィールドと [Post Script] フィールドに次のように入力します。 act_pdbclonepre.sh "TARGET_DB_SIDSOURCE_PDB_NAME-TARGET_PDB_NAME" act_pdbclonepost.sh "TARGET_DB_SIDSOURCE_PDB_NAME-TARGET_PDB_NAME" ここで、 TARGET_DB_SID = PDB をアタッチするターゲット データベースの SID SOURCE_PDB_NAME = ターゲット コンテナにアタッチする必要があるソース PDB 名 TARGET_PDB_NAME = ソースの名前が変更されるターゲット PDB 名。

  7. 両方のスクリプトの [タイムアウト] を 18000 に設定します。

  8. [Create New Virtual Application] を選択します。

  9. ターゲット データベースの SID を入力します。これは、act_pdb_config.conf ファイルで定義されている一時 SID です。

  10. [OS Username] に、ターゲット マシンの Oracle ソフトウェア バイナリを所有するユーザーの OS ユーザー名を入力します。

  11. 構成ファイルで指定されている ORACLE_HOME を指定します。

  12. 矢印をクリックして [Advanced Options] を開きます。[TNS ADMIN Directory] にターゲット マシンの TNS Admin ディレクトリのパスを入力し、[SGA%] で一時インスタンスの SGA の割合の下限を指定します。

  13. [Standalone Non-RAC] を選択します。

  14. ページの下部にある [追加] をクリックします。

Backup and DR ワークフローを実行する

Backup and DR ワークフローを作成したら、次の手順に沿って実行します。

  1. [App Manager] > [Workflows] をクリックし、Backup and DR ワークフローを右クリックして [Run Now] をクリックします。
  2. [Provision New Virtual Application] を選択し、詳細を入力して [Submit] をクリックします。
  3. ログは、ターゲット ホストの /var/act/log でモニタリングできます。

    バックアップと DR のワークフローが成功状態になると、ターゲット データベースの PDB がクローンされます。

    最新または古いソースデータでターゲット PDB を再度更新する必要がある場合は、Backup and DR ワークフローの [今すぐ実行] ボタンをクリックし、[既存の仮想アプリケーションを更新] を選択して、[完了] をクリックします。

マウントされたイメージをマウント解除する

マウント済みのイメージをマウント解除する手順は次のとおりです。

  1. [復元] タブで、マウント解除するイメージを選択します。
  2. ターゲット データベースのプラガブル データベースとデータファイルを削除します。

    SQL>alter pluggable database <PDB_NAME> close immediate;
    SQL>drop pluggable database <PDB_NAME> including datafiles;
    

    または、事前スクリプトを実行します。

    cd /act/scripts
    ./ act_pdbclone_pre.sh
    
  3. [App Manager] > [Active Mounts] リストで、マウントを解除するイメージを右クリックして [Unmount and Delete] を選択し、[Submit] をクリックしてジョブを送信します。

Oracle DBA ガイド