我推测, RMAN 在解析backup 备份命令时,是知道差异增量,还是累积增量,但在实际备份完后记录基础信息时,并没有差异,累积的概念,都是差异,只是基于的要备份的对象不同而已,
差异备份就是接着上次的差异结束时的SCN开始备份(假设级别相同,这个数字源于备份集),而累积备份接着上次的累积结束时的SCN开始备份,
若没有上次的备份集(实际备份集与 控制文件里记录的信息不符),则差异备份,累积备份得从头开始,
恢复时,RMAN 查找对比备份集中数据文件的 checkpoint_change#, incremental_change#. 如:
RMAN> list backup of database summary;
using target database control file instead of recovery catalog
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- ------------------- ------- ------- ---------- ---
18982 B 0 A DISK 2017-04-09 13:57:36 5 1 YES TAG20170409T130125
18983 B 0 A DISK 2017-04-09 14:01:02 5 1 YES TAG20170409T130125
19014 B 1 A DISK 2017-04-11 13:34:10 1 1 YES TAG20170411T130206
19015 B 1 A DISK 2017-04-11 13:34:22 1 1 YES TAG20170411T130206
19030 B 1 A DISK 2017-04-12 13:35:26 1 1 YES TAG20170412T130204
19031 B 1 A DISK 2017-04-12 13:35:36 1 1 YES TAG20170412T130204
19046 B 1 A DISK 2017-04-13 13:36:31 1 1 YES TAG20170413T130150
19047 B 1 A DISK 2017-04-13 13:36:59 1 1 YES TAG20170413T130150
19062 B 1 A DISK 2017-04-14 13:35:07 1 1 YES TAG20170414T130209
19063 B 1 A DISK 2017-04-14 13:35:47 1 1 YES TAG20170414T130209
19078 B 1 A DISK 2017-04-15 13:34:19 1 1 YES TAG20170415T130149
19079 B 1 A DISK 2017-04-15 13:34:40 1 1 YES TAG20170415T130149
19094 B 0 A DISK 2017-04-16 13:56:41 5 1 YES TAG20170416T130109
19095 B 0 A DISK 2017-04-16 13:59:06 5 1 YES TAG20170416T130109 -- 周末0级备份
19111 B 1 A DISK 2017-04-17 13:51:00 1 1 YES TAG20170417T130305
19112 B 1 A DISK 2017-04-17 13:51:29 1 1 YES TAG20170417T130305
19131 B 1 A DISK 2017-04-18 13:35:56 1 1 YES TAG20170418T130244
19132 B 1 A DISK 2017-04-18 13:36:02 1 1 YES TAG20170418T130244
19150 B 1 A DISK 2017-04-19 13:34:25 1 1 YES TAG20170419T130223
19151 B 1 A DISK 2017-04-19 13:34:46 1 1 YES TAG20170419T130223 -- 今天1级累积备份
RMAN>
select btype_key, file#, incremental_change#, checkpoint_change#,
(select start_time from v$backup_set where recid = a.btype_key) start_time,
(select completion_time from v$backup_set where recid = a.btype_key) completion_time
4 from v$backup_datafile_details a where btype_key in(19095,19151) and file# <= 10 order by file#, btype_key;
BTYPE_KEY FILE# INCREMENTAL_CHANGE# CHECKPOINT_CHANGE# START_TIME COMPLETION_TIME
------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------- -------------------
19095 1 0 308998915392017-04-16 13:01:10 2017-04-16 13:59:06
19151 1 30899891539 30955867337 2017-04-19 13:02:24 2017-04-19 13:34:46
19095 5 0 30899891539 2017-04-16 13:01:10 2017-04-16 13:59:06
19151 5 30899891539 30955867337 2017-04-19 13:02:24 2017-04-19 13:34:46
19095 7 0 30899891539 2017-04-16 13:01:10 2017-04-16 13:59:06
19151 7 30899891539 30955867337 2017-04-19 13:02:24 2017-04-19 13:34:46
19095 8 0 30899891539 2017-04-16 13:01:10 2017-04-16 13:59:06
19151 8 30899891539 30955867337 2017-04-19 13:02:24 2017-04-19 13:34:46
19095 9 0 30899891539 2017-04-16 13:01:10 2017-04-16 13:59:06
19151 9 30899891539 30955867337 2017-04-19 13:02:24 2017-04-19 13:34:46
19095 10 0 30899891539 2017-04-16 13:01:10 2017-04-16 13:59:06
BTYPE_KEY FILE# INCREMENTAL_CHANGE# CHECKPOINT_CHANGE# START_TIME COMPLETION_TIME
------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------- -------------------
19151 10 30899891539 30955867337 2017-04-19 13:02:24 2017-04-19 13:34:46
12 rows selected.
Elapsed: 00:00:00.37