天天看点

差异增量备份和累积增量备份

--差异增量备份和累积增量备份

差异增量备份,会备份自上次同级或低级差异增量备份以来所有发生变化的数据块,差异增量是默认增量备份方式

累积增量备份,会备份自上次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级累计增量备份的时候产生的备份文件大小一致。