保護ポリシーの作成

この項では、Cloud Control (推奨)またはDBMS_RA.CREATE_PROTECTION_POLICYプロシージャを使用して保護ポリシーを作成する方法について説明します。ベスト・プラクティスは、データベースの各階層に別の保護ポリシーを作成することです(「タスク1: 保護データベースの階層グループ分け」を参照)。

RASYSアカウントで、またはuser_type=adminに設定してdb_userという名前で、リカバリ・アプライアンスにログインする必要があります。

Cloud Controlを使用して保護ポリシーを作成するには、次の手順に従います。

  1. Cloud Controlの任意のページで、「ターゲット」を選択してから、「リカバリ・アプライアンス」を選択します。

    リカバリ・アプライアンス・ページが表示されます。

  2. 「リカバリ・アプライアンス」ドロップダウン・メニューから、「保護ポリシー」を選択します。

    保護ポリシー・ページには、2つの領域があります。上部の表には、使用可能な保護ポリシーがリストされ、「作成」「編集」および「削除」のコントロールがあります。

    上部の表でポリシーが強調表示されている場合、下部の表には、その特定のポリシーを使用する保護されたデータベースがリストされます。

  3. 「作成」をクリックします。

    保護ポリシーの作成ページが表示されます。

    図7-4 保護ポリシーの作成ページ

    図7-4の説明が続きます。
    「図7-4 保護ポリシーの作成ページ」の説明

    このページでは、デフォルトのリカバリ・アプライアンスの記憶域の場所DELTAがすでに選択されています。

  4. 次の値を入力します。

    • 「名前」フィールドに新しい保護ポリシーの名前を入力します。

      たとえば、bronze_devを入力します。

    • 「説明」フィールドに、新しいポリシーの説明を入力します。

      たとえば、「Policy with disk recovery window of 3 days and no tape backup」と入力します。

    • 「ディスク・リカバリ・ウィンドウ目標」セクションの「リカバリ・ウィンドウ」フィールドに、ディスク・バックアップを使用したポイント・イン・タイム・リカバリに関してリカバリ・アプライアンスで達成する必要があるリカバリ・ウィンドウ目標を指定し、単位を選択します。

      たとえば、3を入力して、「日」を選択します。

    • 保護ポリシーが規制操作用に構成されている場合は、リカバリ・ウィンドウ・コンプライアンスを指定します。この設定では、バックアップが削除されないデータベース・バックアップごとの時間範囲を指定します。この値は、recovery_window_goal以下である必要があります。値が大きすぎる場合、コンプライアンス保護されたバックアップでdisk_reserved_spaceが一杯になる可能性があります。それによって、新しいバックアップが拒否されます。

    • 「保護されていないデータ・ウィンドウのしきい値」セクションの「しきい値」フィールドに、データ損失を許容できる最長期間を入力します。

      たとえば、5を入力して、「分」を選択します。

    • 保護ポリシーがコンプライアンス操作用に構成されている場合は、保持コンプライアンスにより、バックアップをそれらの保持期限まで保持するように指定します。

    • 予約済領域の自動チューニングにより、このポリシーに関連付けられているデータベースのreserved_spaceをリカバリ・アプライアンスで自動的に定義および更新(あるいはそのいずれか)するかどうかを指定します。

      コンプライアンス・バックアップの場合、reserved_spaceは特定のデータベースに割り当てられたハード制限であるため、autotune_reserved_spaceは適用されません。

    • オプションで、「メディア・マネージャ・リカバリ・ウィンドウ・ポリシー」「リカバリ・ウィンドウ」フィールドに、メディア・マネージャからのポイント・イン・タイム・リカバリが維持される時間帯としてさらに長い時間を指定できます。

      たとえば、テープ・バックアップの必要がない場合はこのフィールドを空にしておきます。

    • 「最大ディスク・バックアップ保存期間」セクションの「最大保存」フィールドに、リカバリ・アプライアンスでディスク・バックアップを保存する必要がある最大期間を入力します。これは、リカバリ・ウィンドウ目標以上である必要があります。

      たとえば、指定しなかった場合は、ディスク・リカバリ目標を超えても、領域があるかぎりバックアップが保持されます。

  5. オプションで、「詳細」セクションの項目を変更できます。

    • 「バックアップおよびREDOフェイルオーバー」セクションで、この保護ポリシーに関連付けられている保護データベースが代替宛先としてこのリカバリ・アプライアンスを使用しているかどうかを指定します。

    • リカバリ・ウィンドウ・コンプライアンスも保持コンプライアンスも使用しない場合は、オプションで、「バックアップの削除」セクションにおいて、リカバリ・アプライアンスでRMAN DELETE (管理者ロール)によるバックアップ削除を許可するかどうかを指定します。

    • 「バックアップのポーリング位置」セクションで、バックアップ・ポーリング・ポリシーを定義します。

      • 「場所」フィールドに、リカバリ・アプライアンスでアクセスできるディレクトリを指定します。

      • 「頻度」フィールドに、間隔を指定し、時間の単位を入力します。

      たとえば、バックアップ・ポーリングを無効にするように指定するには、フィールドを空にしておきます。

    • 「バックアップ・コピー・ポリシー」セクションで、リカバリ・アプライアンスでバックアップを削除前にレプリケートするかテープにコピーするかを指定します。

      たとえば、「たとえまだテープにコピーまたはレプリケートされていない既存のバックアップを削除する必要があっても、新規のバックアップを常に受け入れます。」を選択します。

    • 「アーカイブ・ログ・バックアップの圧縮」で、アーカイブ・ログ・バックアップの圧縮アルゴリズムを選択できます。

  6. 「OK」をクリックします。

    デプロイメント・プロシージャが発行され、保護ポリシーが作成されます。保護ポリシー・ページの上部に、この効果の確認メッセージが表示されます。保護ポリシー・ページがリフレッシュされると、新しく作成されたポリシーがリストに表示されます。

関連項目:

PL/SQLを使用して保護ポリシーを作成するには、次の手順に従います。

開発環境のデータベース階層に対してbronze_devという名前の保護ポリシーを作成します。このポリシーによって保護されるすべてのデータベースの要件は次のとおりです。

  • ディスク・リカバリ・ウィンドウ目標は3日間であり、ディスク・バックアップを使用してすべてのデータベースを現在時刻から3日間前までの任意の時点にリカバリできる必要があります。

  • バックアップをテープにアーカイブする必要はありません。

  • 使用可能な記憶域が不足するために古いバックアップを削除しなければならない場合でも、リカバリ・アプライアンスが新しいバックアップを受信できるようにします。

  • バックアップ・ポーリング・ポリシーは有効にしません。

また、リカバリ・ウィンドウ目標が35日間のポリシーgold_devと10日間のポリシーsilver_devも作成します。さらに、ディスク・リカバリ・ウィンドウ目標が12時間のbronze_devという名前のポリシーも作成します。

  1. SQL*PlusまたはSQL Developerを起動してから、RASYSとして、またはuser_type=adminに設定してdb_userという名前で、メタデータ・データベースにログインします。

  2. DBMS_RA.CREATE_PROTECTION_POLICYプロシージャを実行します。

    たとえば、次のPL/SQL無名ブロックを実行します。

    BEGIN
     DBMS_RA.CREATE_PROTECTION_POLICY (
      protection_policy_name => 'bronze_dev',
      description            => 'For protected dbs in bronze tier',
      storage_location_name  => 'delta',
      recovery_window_goal   => INTERVAL '3' DAY,
      guaranteed_copy        => 'NO');
     DBMS_RA.CREATE_PROTECTION_POLICY (
      protection_policy_name => 'silver_dev',
      description            => 'For protected dbs in silver tier',
      storage_location_name  => 'delta',
      recovery_window_goal   => INTERVAL '10' DAY,
      guaranteed_copy        => 'NO');
     DBMS_RA.CREATE_PROTECTION_POLICY (
      protection_policy_name => 'gold_dev',
      description            => 'For protected dbs in gold tier',
      storage_location_name  => 'delta',
      recovery_window_goal   => INTERVAL '35' DAY,
      guaranteed_copy        => 'NO');
     DBMS_RA.CREATE_PROTECTION_POLICY (
      protection_policy_name => 'test_dev',
      description            => 'Test policy',
      storage_location_name  => 'delta',
      recovery_window_goal   => INTERVAL '12' HOUR,
      guaranteed_copy        => 'NO');
    END;
    

    ノート:

    コンプライアンスに関連付けられているパラメータと、バックアップの削除または予約済領域の自動チューニングのパラメータなど、相互に排他的な属性に注意してください。
  3. 必要に応じて、リカバリ・カタログを問い合せてポリシーが作成されたことを確認します。

    たとえば、次のようにRA_PROTECTION_POLICYを問い合せます(出力例も示します)。

    COL POLICY_NAME FORMAT a11
    COL DESCRIPTION FORMAT a36
    SELECT POLICY_NAME, DESCRIPTION, 
           TO_CHAR(EXTRACT(DAY FROM RECOVERY_WINDOW_GOAL),'fm00')||':'||
           TO_CHAR(EXTRACT(HOUR FROM RECOVERY_WINDOW_GOAL),'fm00')||':'||
           TO_CHAR(EXTRACT(MINUTE FROM RECOVERY_WINDOW_GOAL),'fm00')||':'||
           TO_CHAR(EXTRACT(SECOND FROM RECOVERY_WINDOW_GOAL),'fm00')
             AS "DD:HH:MM:SS"
    FROM   RA_PROTECTION_POLICY
    WHERE  POLICY_NAME LIKE '%DEV'
    ORDER BY POLICY_NAME;
    
    POLICY_NAME DESCRIPTION                          DD:HH:MM:SS
    ----------- ------------------------------------ ---------------
    BRONZE_DEV  For protected dbs in bronze_dev tier 03:00:00:00
    GOLD_DEV    For protected dbs in gold_dev tier   35:00:00:00
    SILVER_DEV  For protected dbs in silver_dev tier 10:00:00:00
    TEST_DEV    Test policy                          00:12:00:00