8.歸檔模式下的備份 數據庫狀態:
恢復目錄:打開
目標數據庫:例程啟動,數據庫加載或者打開
備份操作使用的命令與非歸檔模式下基本一樣。
8.1. Backing up archived logs 備份歸檔日志
下面的腳本備份歸檔日志:
RMAN> run {
2> allocate channel dev1 type disk;
3> backup
4> format '/Oracle/backups/log_t%t_s%s_p%p'
5> (archivelog all);
6> release channel dev1;
7> }
下面的腳本歸檔日志從# 90 to 100:
RMAN> run {
2> allocate channel dev1 type disk;
3> backup
4> format '/Oracle/backups/log_t%t_s%s_p%p'
5> (archivelog from logseq=90 until logseq=100 thread 1);
6> release channel dev1;
7> }
下面的腳本備份在24小時內產生的歸檔日志,在備份完成後會自動刪除歸檔日志。如果備份失敗,歸檔日志不會被刪除。
RMAN> run {
2> allocate channel dev1 type disk;
3> backup
4> format '/Oracle/backups/log_t%t_s%s_p%p'
5> (archivelog from time 'sysdate-1' all delete input);
6> release channel dev1;
7> }
使用下面的命令顯示恢復目錄中的歸檔日志:
RMAN> list backupset of archivelog all;
注意:RMAN找到歸檔日志後會備份指定日志,如果無法找到日志,它也不會返回錯誤信息。
8.2. Backing up the online logs 備份聯機日志
聯機日志不能用RMAN來備份,必須先將其歸檔。
為了實現這點,必須在RMAN中執行如下SQL語句:
RMAN> run {
2> allocate channel dev1 type disk;
3> sql "alter system archive log current";
4> backup
5> format '/Oracle/backups/log_t%t_s%s_p%p'
6> (archivelog from time 'sysdate-1' all delete input);
7> release channel dev1;
8> }
上面的腳本可以在執行完一個完整的聯機數據庫備份後執行,確保所有的重做日志可以將數據庫恢復到一個一致性的狀態。
注意:不可以標識歸檔日志備份集。
9. 增量備份 N級別增量備份備份從最近的N級別或者更小級別以來的所有更改過的數據塊內容。增量備份分為兩種,一種是累積增量備份,一種是非累積增量備份。
累積增量備份包括自最後一次在更低級別進行備份以來所有改動過的數據塊。
非累積增量備份包括自前一次在同級或者更低級別進行備份以來改動過的數據塊。
9.1. Level 0--增量備份策略的基礎
Level 0 是增量備份策略的基礎--the basis of the incremental backup strategy
RMAN> run {