--差异增量备份和累积增量备份
差异增量备份,会备份自上次同级或低级差异增量备份以来所有发生变化的数据块,差异增量是默认增量备份方式
累积增量备份,会备份自上次0级备份以来发生变化的数据块。
RMAN> backup incremental level 0 database format '/tmp/bak/incr0_%s_%p_%t.bak'; --0级增量备份,增量备份都需要一个0级备份来作为基础
RMAN> backup incremental level 1 database format '/tmp/bak/incr1_%s_%p_%t.bak'; --1级差异增量备份
RMAN> backup incremental level 1 cumulative database format '/tmp/bak/cumu1_%s_%p_%t.bak'; --1级累计增量备份
RMAN> backup incremental level 1 database format '/tmp/bak/incr1_2_%s_%p_%t.bak'; --再次做1级差异增量备份
RMAN> backup incremental level 1 cumulative database format '/tmp/bak/cumu1_2_%s_%p_%t.bak'; --再次做1级累积增量备份
[[email protected] ~]$ ll /tmp/bak/
total 1231904
-rw-r----- 1 oracle oinstall 3620864 Nov 29 20:23 cumu1_2_28_1_929218985.bak
-rw-r----- 1 oracle oinstall 3620864 Nov 29 20:19 cumu1_24_1_929218763.bak
-rw-r----- 1 oracle oinstall 1200398336 Nov 29 20:11 incr0_20_1_929218212.bak
-rw-r----- 1 oracle oinstall 3325952 Nov 29 20:16 incr1_22_1_929218549.bak
-rw-r----- 1 oracle oinstall 73728 Nov 29 20:21 incr1_2_26_1_929218913.bak
当做0级增量备份,因为是对全库进行了备份所以从文件大小也可以看出是最大的。
当做1级差异增量备份的时候,是根据上次同级或低级差异增量备份变化进行备份,即在0级增量备份基础上进行。
当做1级累计增量备份的时候,是根据上次0级备份以来发生变化的数据块,即在0级增量备份基础上进行。 --所以cumu1_24_1_929218763.bak和incr1_22_1_929218549.bak大小非常接近。
当再次做1级差异增量备份的时候,是根据上次同级或低级差异增量备份变化进行备份,即在上次1级增量备份基础上进行,可以看出incr1_2_26_1_929218913.bak文件大小非常小,因为数据库几乎无变化。
当再次做1级累计增量备份的时候,依然是根据上次0级增量备份基础上进行,所以与第一次做1级累计增量备份的时候产生的备份文件大小一致。