web-dev-qa-db-ja.com

完全、増分、または差分バックアップ?

RMANを使用すると、次のようなコマンドを使用してデータベースが1日1回バックアップされます。

_backup incremental level 1 cumulative
[...]
database
include current controlfile spfile
_

リカバリカタログデータベースでは、このようなバックアップジョブの1つを見ることができます

_    DB_KEY DB_NAME  SESSION_KEY COMMAND_ID              START_TIME          END_TIME            INPUT_BYTES OUTPUT_DEVICE_TYP STATUS        INPUT_TYPE    ELAPSED_SECONDS
---------- -------- ----------- ----------------------- ------------------- ------------------- ----------- ----------------- ------------- ------------- ---------------
   xxxxxxx dbname       xxxxxxx 2016-11-12T05:03:21     12.11.2016 05:02:28 12.11.2016 05:03:21   862159354 SBT_TAPE          COMPLETED     DB INCR                    53
_

テーブルrc_backup_piece_detailsには、このバックアップジョブのセッションIDを持つ5つのエントリがあります。

_SESSION_KEY DB_NAME      DB_KEY     BP_KEY B INCREMENTAL_LEVEL DEVICE_TYPE          START_TIME          COMPLETION_TIME     ELAPSED_SECONDS S      BYTES
----------- -------- ---------- ---------- - ----------------- -------------------- ------------------- ------------------- --------------- - ----------
    xxxxxxx dbname      xxxxxxx    1000001 I                 1 SBT_TAPE             12.11.2016 05:03:14 14.11.2016 05:03:15               1 A     423549
    xxxxxxx dbname      xxxxxxx    1000002 I                 1 SBT_TAPE             12.11.2016 05:03:05 14.11.2016 05:03:11               6 A  862156486
    xxxxxxx dbname      xxxxxxx    1000003 D                   SBT_TAPE             12.11.2016 05:03:16 14.11.2016 05:03:17               1 A   45324586
    xxxxxxx dbname      xxxxxxx    1000004 I                 1 SBT_TAPE             12.11.2016 05:02:30 14.11.2016 05:03:01              31 A  256422458
    xxxxxxx dbname      xxxxxxx    1000005 I                 1 SBT_TAPE             12.11.2016 05:03:13 14.11.2016 05:03:14               1 A   45624595
_

ご覧のとおり、バックアップタイプとして[〜#〜] d [〜#〜]のバックアップピースが1つあります。 Oracleドキュメント で次のことがわかりました。

バックアップのタイプ。可能な値は、データファイルまたは制御ファイルのバックアップの場合はD、増分バックアップの場合はI、アーカイブログファイルのバックアップの場合はLです。

これは、これらのバックアップピースの中に、データファイルまたは制御ファイルの増分バックアップが1つあることを意味しますか?

これが事実である場合、なぜこれがこの特定のデータベースでのみ発生するのか疑問に思います。他のすべてのデータベースも_include current controlfile spfile_でバックアップされます。

このデータベースと他のデータベースの違いは、他のほとんどのデータベースが_incremental level=0_でバックアップされていることです。それで違いがあるのでしょうか?


Edit:したがって、バックアップタイプDが増分バックアップではない場合、このバックアップピースが_input_type = 'DB INCR'_?また、rmanコマンドのどの部分がこのデータファイルのバックアップをトリガーできますか?それが_include current controlfile spfile_の場合、他のデータベースのバックアップタイプがDのバックアップピースがあるのはなぜですか?

1
jera

これは、これらのバックアップピースの中に、データファイルまたは制御ファイルの増分バックアップが1つあることを意味しますか?

いいえ、バックアップの種類はDです。これは、データファイルまたは制御ファイルのバックアップであることを意味しますが、完全バックアップは増分ではありません(INCREMENTAL_LEVELの場合はNULLで示されます)。

他のバックアップは、これらの増分バックアップのベースとなるバックアップタイプDの差分増分バックアップです。

このデータベースと他のデータベースの違いは、他のほとんどのデータベースが増分レベル= 0でバックアップされることです。それで違いがあるのでしょうか?

インクリメンタルレベル0とインクリメンタルレベル1累積はバックアップの種類が異なるため、違いがあります。

増分バックアップは、レベル0またはレベル1のいずれかになります。後続の増分バックアップのベースとなるレベル0の増分バックアップは、データを含むすべてのブロックをコピーし、完全バックアップと同じようにデータファイルをバックアップセットにバックアップします。レベル0の増分バックアップと完全バックアップの唯一の違いは、完全バックアップが増分戦略に含まれないことです。

詳細: RMAN増分バックアップ

2
JSapkota

増分バックアップを作成するには、増分を適用するデータファイルの完全バックアップが必要です。

インクリメンタル戦略の基本バックアップとして、BACKUPコマンドのデータファイルごとにレベル0のバックアップが存在する必要があります。レベル0のバックアップのステータスはUNAVAILABLEであってはなりません。 レベル0のバックアップが存在しない場合、RMANはレベル0のバックアップを自動的に作成します。

https://docs.Oracle.com/database/121/RCMRF/rcmsynta006.htm#RCMRF107

0
user110706