《Backup database with incremental & backup strategy》

rman 備份策略

今天將之前在公司實作的備份策略拿來與大家分享

---------------------------------------------------------------------------------------------

因為公司資料庫的備份策略很鬆散,僅週六對資料庫作一次全備份,

災害發生時最多會損失一個禮拜的資料量,真的只能祈禱了。

趁這機會實作增量備份並制定備份策略。

  備份計劃: 保存期限為 14 天

  備份資料: 每日備份 DataFile、control file、archive log、spfile

  備份策略如下:

星期   Level   data

日       0           all

一       2           日 -> 一

二       2           一 -> 二

三       1           三 -> 日

四       2           四 -> 三

五       2           五 -> 四

六       1           六 -> 三

以下是週一、二、四、五作Level 2 script。

run {

allocate channel ch1 type disk maxpiecesize 4000M;

sql 'alter system switch logfile';

backup incremental level 2 database format 'G:\backup\DB_%T_%U' tag 'DBLV1_Other';

backup current controlfile format 'G:\backup\Ctl_%T_%U' tag 'CTL_Wed_Other';

sql 'alter system switch logfile';

release channel ch1;

}

以下是週三、六作Level 1 script。

run {

allocate channel ch1 type disk maxpiecesize 4000M;

sql 'alter system switch logfile';

backup incremental level 1 database format 'G:\backup\DB_%T_%U' tag 'DBLV1_Wed_Sat';

backup current controlfile format 'G:\backup\Ctl_%T_%U' tag 'CTL_Wed_Sat';

sql 'alter system switch logfile';

release channel ch1;

}

以下是週日作Level 0 script。

run {

allocate channel ch1 type disk maxpiecesize 4000M;

sql 'alter system switch logfile';

backup incremental level 0 database format 'G:\backup\DB_%T_%U' tag 'DBLV0_Sun';

backup current controlfile format 'G:\backup\Ctl_%T_%U' tag 'CTL_Sun';

sql 'alter system switch logfile';

 

backup archivelog all delete input format 'G:\backup\ARC_%T_%U' tag 'ARC_Sun';

backup spfile format 'G:\backup\spfile_%T_%U' tag 'spfile_Sun';

release channel ch1;

}

--------

因為在windows 2000 server平台上,最好限制檔案大小 4G,以免檔案過大,作什麼都不方便 (例如搬檔案的時候)。

另外原本在週日的時候會依備份策略將十四天以前的備份資料刪除,就在週日的script最後加上以下內容。

allocate channel for maintenance device type disk;

delete obsolete device type disk;

但是卻遇到了rman bug,將好不容易的備份檔案全刪了,連同剛備份的檔案也刪除,至metalink查類似狀況,

發現還不少人回報此異常情形,但似乎沒有解答。

所以還是手動將過期的備份檔案刪除比較安全點,有興趣的人可以試試,但記得要檢查log及備份檔案,

否則哪天備份檔案全刪掉了也不知道。