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つあることを意味しますか?
いいえ、バックアップの種類はD
です。これは、データファイルまたは制御ファイルのバックアップであることを意味しますが、完全バックアップは増分ではありません(INCREMENTAL_LEVEL
の場合はNULL
で示されます)。
他のバックアップは、これらの増分バックアップのベースとなるバックアップタイプD
の差分増分バックアップです。
このデータベースと他のデータベースの違いは、他のほとんどのデータベースが増分レベル= 0でバックアップされることです。それで違いがあるのでしょうか?
インクリメンタルレベル0とインクリメンタルレベル1累積はバックアップの種類が異なるため、違いがあります。
増分バックアップは、レベル0またはレベル1のいずれかになります。後続の増分バックアップのベースとなるレベル0の増分バックアップは、データを含むすべてのブロックをコピーし、完全バックアップと同じようにデータファイルをバックアップセットにバックアップします。レベル0の増分バックアップと完全バックアップの唯一の違いは、完全バックアップが増分戦略に含まれないことです。
詳細: RMAN増分バックアップ
増分バックアップを作成するには、増分を適用するデータファイルの完全バックアップが必要です。
インクリメンタル戦略の基本バックアップとして、BACKUPコマンドのデータファイルごとにレベル0のバックアップが存在する必要があります。レベル0のバックアップのステータスはUNAVAILABLEであってはなりません。 レベル0のバックアップが存在しない場合、RMANはレベル0のバックアップを自動的に作成します。
https://docs.Oracle.com/database/121/RCMRF/rcmsynta006.htm#RCMRF107