リカバリ・ウィンドウ・コンプライアンスの管理

リカバリ・ウィンドウ・コンプライアンスは、リカバリ・アプライアンスがデータベースをバックアップからリカバリできることを保証する時間範囲です。これは、保護ポリシーのRECOVERY_WINDOW_COMPLIANCE属性で指定されます。保護ポリシーで設定すると、そのポリシーの新しく作成されたバックアップがその期間のリカバリ・アプライアンスに保持されます。

RECOVERY_WINDOW_COMPLIANCERECOVERY_WINDOW_GOALとは異なり、より多くの制限があります。goalを満たす必要はありませんが、complianceを満たす必要があるためです。目標は、予約記憶域が十分で必要なく、新しいバックアップによって上書きされる場合、リカバリ・アプライアンスが過去30日間の任意の時点に特定のデータベースをリカバリするためのものです。リカバリ・ウィンドウ・コンプライアンスでは、予約記憶域の制約に関係なく、特定のデータベースを過去7日間の任意の時点にリカバリするためにリカバリ・アプライアンスが必要になる場合があります。

ノート:

RECOVERY_WINDOW_COMPLIANCEが大きすぎると、予約記憶域が使用できなくなるため、リカバリ・アプライアンスへの新しいバックアップを追加できません。RECOVERY_WINDOW_COMPLIANCEの消費量が予約済記憶域制限に近づき、受信バックアップ・ピースの使用量がこの制限を超えると、RMANは即時に失敗します。

バックアップで領域が必要なため、バックアップを格納するために必要な予約領域を予測する必要があります。ESTIMATE_SPACEプロシージャは、予約済領域の決定に役立ちます。領域を見積もるために使用するtarget_windowを、周辺条件に対してRECOVERY_WINDOW_COMPLIANCE追加の1日にする必要があります。

新しいバックアップのバックアップをより長くまたは短く保持するために、保護ポリシーを変更できます。ただし、特定のバックアップにRECOVERY_WINDOW_COMPLIANCEを設定すると、これは厳密に実行され、RECOVERY_WINDOW_COMPLIANCE期間が期限切れになるまでバックアップは削除されません。

リカバリ・ウィンドウ・コンプライアンスを作成および保持するための主な2つの方法は、Enterprise Manager Cloud Controlなどのアプリケーションを使用するか、DBMS_RA APIを使用します。どちらの場合も、次のように操作します

Enterprise Manager Cloud Controlを使用してデータベースのコンプライアンス保持を設定および削除するステップは、次のとおりです:

  1. Cloud Controlページにログインします。

    関連項目:

    詳細は、「リカバリ・アプライアンス・ホームページへのアクセス」を参照してください。

  2. Cloud Controlの任意のページで、「ターゲット」ドロップダウン・メニューを使用して、「リカバリ・アプライアンス」を選択します。

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

  3. 「名前」列にある、リカバリ・アプライアンスの名前をクリックします。

    選択したリカバリ・アプライアンスホームページが表示されます。

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

    これにより、そのリカバリ・アプライアンスによって現在適用されているすべての保護ポリシーを含む表が表示されます。

  5. 保護されたポリシー表を選択してから、「編集」で、そのリカバリ・ウィンドウ・コンプライアンスを変更するか、保持コンプライアンスをオンにします。

    これにより、保護ポリシーの更新ダイアログ・ボックスが開かれます。

    ノート:

    保護ポリシーに対する変更は、そのポリシーを使用するすべてのデータベースに影響します。それらは、選択したポリシーの「保護ポリシー」表の下にリストされます。

リカバリ・ウィンドウ・コンプライアンスとは、そのリカバリ・アプライアンスで、その保護ポリシーを使用するすべてのデータベースをリカバリできることが保証されている必要がある時間範囲です。これは、リカバリ・ウィンドウ目標よりも小さくする必要があります。リカバリ・ウィンドウ・コンプライアンスはnullにできます。大きすぎる場合は、コンプライアンス目的のための古いバックアップが"期限切れ"になっておらず、それらの記憶領域が受信バックアップでの再使用のために確保されていないため、リカバリ・アプライアンスで新しいバックアップが拒否される可能性があります。

保護ポリシーは、保持コンプライアンスの確立にも使用できます。保護ポリシーにおいて有効にすると、リカバリ・アプライアンスにより、関連するすべてのデータベースのバックアップが、"keep until time"まで保持されます。

後で、保護ポリシーとそれに関連付けられたデータベースでコンプライアンスの保持が不要になったときは、必ず削除してください。

保護ポリシーでの不変性設定に関するPL/SQLスニペット

保護ポリシーには2つの新しい不変性設定があり、UPDATE_DBには1つあります。

コンプライアンスのための新しい保護ポリシーを作成する場合は、「保護ポリシーの作成」を参照してください。同時に複数のコンプライアンス属性を設定できます。たとえば、次のスニペットで行います。

dbms_ra.CREATE_PROTECTION_POLICY (
PROTECTION_POLICY_NAME => ‘Policy 1’, 
STORAGE_LOCATION_NAME => ‘DELTA’, 
RECOVERY_WINDOW_GOAL = INTERVAL '14' DAY, 
RECOVERY_WINDOW_COMPLIANCE => INTERVAL '7' DAY, 
KEEP_COMPLIANCE => ‘YES’, 
ALLOW_BACKUP_DELETION => ‘NO’);

コンプライアンス・ルールの既存の保護ポリシーを変更する場合、ポリシーの更新に関するPL/SQLスニペットを次に示します。

  • 1つ以上の保護ポリシーのRECOVERY_WINDOW_COMPLIANCE設定を設定します。

    BEGIN
    DBMS_RA.UPDATE_PROTECTION_POLICY(
        PROTECTION_POLICY_NAME =>  '&pname', 
        RECOVERY_WINDOW_GOAL => INTERVAL '92' DAY,
        RECOVERY_WINDOW_COMPLIANCE => INTERVAL '14' DAY);
    END;

    ノート:

    RECOVERY_WINDOW_COMPLIANCEの値が大きすぎると、リカバリ・アプライアンスでバックアップの記憶域が不足し、バックアップは削除できず、新しいバックアップは格納できず拒否される可能性があるため、この値の設定には注意が必要です。RECOVERY_WINDOW_COMPLIANCEのこの番号は、RECOVERY_WINDOW_GOAL未満にする必要があります。RESERVED_SPACEは、コンプライアンス保持に必要なすべてのバックアップをサポートするのに十分な大きさにする必要があります。そうしないと、領域が一杯になり、新しいバックアップが拒否される可能性があります。
  • 1つ以上の保護ポリシーに対してALLOW_BACKUP_DELETION属性をNOに設定します。

    BEGIN
    DBMS_RA.UPDATE_PROTECTION_POLICY(
        PROTECTION_POLICY_NAME =>  '&pname', 
        ALLOW_BACKUP_DELETION =>  'NO');
    END;

    ALLOW_BACKUP_DELETIONNOに設定することは、リカバリ・アプライアンスではこれらのバックアップの削除が許可されないことを意味します。これは法定保留の要件です。

    ALLOW_BACKUP_DELETIONYESに設定することは、リカバリ・アプライアンスがリカバリ・ウィンドウの目標を超えて期限切れになった場合に、これらのバックアップを削除できることを意味します。

    ノート:

    KEEP_COMPLIANCEを有効にする前に、ALLOW_BACKUP_DELETIONNO (無効)に設定する必要があります。

  • 1つ以上の保護ポリシーのKEEP_COMPLIANCE不変設定を有効にします。

    特定の保護ポリシーで設定されているKEEP_COMPLIANCE属性を示すPL/SQLの疑似スニペットを次に示します。

    BEGIN
    DBMS_RA.UPDATE_PROTECTION_POLICY( 
      PROTECTION_POLICY_NAME =>  '&pname',
      KEEP_COMPLIANCE => 'YES');
    END;

    YES: リカバリ・アプライアンスでは、KEEPバックアップを削除できなくなります。NO: リカバリ・アプライアンスの管理者は、KEEPバックアップを削除できます。

    KEEP_COMPLIANCE属性は、リカバリ・ウィンドウ目標に従ってバックアップの期限が切れると記憶域が上書きされないようにすることで、アーカイブ・バックアップを有効にするのに役立ちます。ただし、keep_timeに到達すると、バックアップを削除できます。