天天看點

差異增量備份和累積增量備份

--差異增量備份和累積增量備份

差異增量備份,會備份自上次同級或低級差異增量備份以來所有發生變化的資料塊,差異增量是預設增量備份方式

累積增量備份,會備份自上次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級累計增量備份的時候産生的備份檔案大小一緻。