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

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

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

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

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

この例では、次のことを実行するバックアップと DR ワークフローを定義します。

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

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

  1. [App Manager] > [Workflows] をクリックします。

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

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

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

  4. [Add Workflow: Configure] ページで、バックアップと DR ワークフローの名を指定し、[Direct Mount] を選択して、バックアップと DR ワークフローを管理するアプライアンスを選択します。バックアップと DR ワークフローの名に特殊文字を含めることはできません。

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

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

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

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

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

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

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

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

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

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

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

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

  17. 用意されたスペースに Oracle 関連のオプションを入力します。疑問符 ? をクリックします。オプションの横にある

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

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

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

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

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

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

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

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

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

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

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

  4. バックアップと DR ワークフローの名称を指定します。バックアップと DR ワークフローの名に特殊文字を含めることはできません。

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

    [LiveClone Settings] が開きます。

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

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

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

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

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

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

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

  11. [Mark Data Non-Sensitive] オプションは、センシティブ データが含まれているものとしてマークされているアプリケーションを選択した場合にのみ表示されます。スクラブ後のアプリケーションにセンシティブ データが含まれない場合はこのオプションをオンにします。これにより、機密データにアクセスできないユーザーが、バックアップと 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] をクリックします。プロセスを完了するために、Oracle の追加設定オプションが表示されます。

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

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

  21. このデータベースに必要な Oracle 設定を入力します。各ラベルをクリックするとヘルプが表示されます。

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

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

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

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

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

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

このセクションは次の要素で構成されています。

仕組み: 移行可能なテーブルスペースを使用したバックアップと DR の仮想コピー

同じソース インスタンスまたは複数のソース インスタンスから、単一のターゲット 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.confact_testuser_refresh.conf に移動して、ターゲット スキーマ名を testuser(<schema> は testuser)にします。

      ここで

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

バックアップと DR のワークフローを作成する

バックアップと DR のワークフローを作成してスキーマの更新を行う手順は次のとおりです。

  1. 管理コンソールを開き、[App Manager] > [Workflows] に移動して、[Add Workflow] を選択します。
  2. [ワークフローを追加: アプリケーションを選択] リストで、使用するデータベースを右クリックして [次へ] をクリックします。
  3. [Add Workflow: Configure] ページが表示されます。

    • Backup and DR ワークフローに一意の名前を付けます。バックアップと DR ワークフローの名に特殊文字を含めることはできません。
    • [Direct Mount] を選択します。
    • バックアップと DR ワークフローを実行するバックアップ/リカバリ アプライアンスを選択します。
    • [Schedule Type] で [On Demand] を選択します。
    • [Source] イメージ(最新のスナップショットまたは本番環境の最新のスナップ)を選択します。
    • [マウントラベル] で、アクティブなマウントを表示したときにこのバックアップと DR ワークフローのマウントを識別できるように、一意の識別子を指定します。
    • [ホスト] リストからターゲット ホストを選択します。
  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. 1,800 秒以上のタイムアウト値を入力します。

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

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

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

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

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

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

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

バックアップと DR ワークフローを実行する

バックアップと DR ワークフローが作成されたら、次の手順で実行します。

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

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

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

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

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

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

  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 としてターゲットの既存のデータベース コンテナに提示する

Oracle のバージョンが 12c より前の場合は、バックアップと 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/
    

バックアップと DR ワークフローを作成して PDB クローンジョブを実行する

  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. ターゲット マシンの Oracle ソフトウェア バイナリを所有する OS ユーザー名を入力します。

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

  12. 矢印をクリックして [詳細設定] を開きます。ターゲット マシンの TNS ADMIN ディレクトリを指定し、一時インスタンスの最小 SGA を指定します。

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

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

バックアップと DR ワークフローを実行する

バックアップと DR ワークフローが作成されたら、次の手順に沿って実行します。

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

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

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

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

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

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

    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 ガイド