七. 聯機RMAN Database Backup
7.1 線上資料庫備份
要使用RMAN執行聯機備份操作,資料庫必須置於Archivelog 模式。 如果不在歸檔模式,則嘗試聯機備份時RMAN就會產生一個錯誤。
Oracle 歸檔與非歸檔的切換
http://blog.csdn.net/tianlesoftware/archive/2009/10/19/4693470.aspx
串連備份樣本:
RMAN> Configure default device type to disk;
RMAN> configure channel 1 device type disk format 'F:/backup/orcl_%U.bak';
RMAN> backup database plus archivelog tag='ORCL';
7.2 資料表空間備份
可以簡單的使用具有tablespace 參數的backup 命令來執行一個資料表空間的備份操作:
Backup tablespace dave;
如果同時要備份歸檔的重做日誌,可以執行:
Backup tablespace dave plus archivelog;
我們要確保備份的是當前的控制檔案:
Backup tablespace users include current controlfile plus archivelog;
7.3 資料檔案備份
RMAN 允許使用帶有datafile 參數的backup 命令來備份資料檔案,datafile 參數後面是要備份的檔案名稱或資料檔案號。
查看資料檔案號:
SQL> select file_id,file_name from dba_data_files;
FILE_ID FILE_NAME
---------- -----------------------------------------------------
4 D:/APP/ADMINISTRATOR/ORADATA/ORCL/USERS01.DBF
3 D:/APP/ADMINISTRATOR/ORADATA/ORCL/UNDOTBS01.DBF
2 D:/APP/ADMINISTRATOR/ORADATA/ORCL/SYSAUX01.DBF
1 D:/APP/ADMINISTRATOR/ORADATA/ORCL/SYSTEM01.DBF
5 D:/APP/ADMINISTRATOR/ORADATA/ORCL/DAVE0.DBF
備份:
RMAN>Backup datafile 5;
RMAN>Backup datafile 'D:/APP/ADMINISTRATOR/ORADATA/ORCL/DAVE0.DBF';
RMAN>Backup datafile 'D:/APP/ADMINISTRATOR/ORADATA/ORCL/DAVE0.DBF' plus archivelog;
7.4 歸檔的重做記錄備份
要備份所有的歸檔重做日誌,可以用backup archivelog all. 還可以備份指定範圍內的歸檔的重做日誌,這裡有多個選項,包括時間,SCN或者重做
日誌序列。
Backup archivelog all;
Backup archivelog from time 'sysdate-1';
Backup archivelog from sequence 400;
一旦備份完成,就可以使用RMAN的 Delete input 選項來刪除這些歸檔重做日誌。
Backup archivelog all delete input;
Backup archivelog from sequence 400 delete input;
也可以指示RMAN 備份歸檔的重做日誌多個副本。 在下面的樣本中,我們使用具有not backed up n times 參數的backup命令來確保至少備份3次重做
日誌,並且不會再次備份已經備份超過3次的歸檔重做日誌。
Backup archivelog not backed up 3 times;
還可以使用backup 與until time 參數來確保歸檔重做日誌在磁碟上保留一定的天數:
Backup archivelog all delete input until time 'sysdate-2';
註: not backed up 參數和 delete input 參數相互排斥,不管歸檔重做日誌的備份次數為多少,delete input 參數都會刪除這個歸檔的重做日誌
。
7.5 控制檔案和伺服器參數檔案備份
使用backup spfile 命令可以備份伺服器參數檔案。
Backup current controlfile;
Current controlfile 參數還提供一個for standby子句,這個子句會建立一個備用資料庫要用的備份控制檔案。可以使用backup 命令的
controlfilecopy 參數來建立一個含有外部建立的控制檔案備份的備份組,執行alter database backup controlfile to ' filename' 命令或者RMAN
的copy 命令可以建立備用的資料庫控制檔案。 此外,還可以備份由alter database create standby controlfile 命令建立的備用資料庫控制檔案
,該功能的有點在於可以使用外部控制檔案備份檔案,在RMAN中註冊這些檔案,然後建立一個含有控制檔案備份的備份組。
Alter database backup controlfile to 'd:/backup/orcl_backup.ctl';
Backup controlfilecopy 'd:/backup/orcl_backup.ctl';
7.6 備份組備份
我們可能現在磁碟上備份資料,然後在磁帶上備份備份組。 在Oracle 10g中,RMAN 通過backup 命令支援這種操作。
使用backup backupset 命令可以選擇備份所有備份組,也可以選擇備份特定的備份組。另外,只能將備份組從磁碟備份到磁碟,或者將備份組從磁碟
備份到磁帶。在備份備份組中,可以使用delete input 選項在備份操作成功後刪除源備份組的檔案。
Backup backupset all;
Backup backupset all format='d:/backup/orcl_%U.bak' tag='ORCL' channel 'ORA_DISK_1';
Backup backupset complete before 'sysdate-2';
Backup backupset complete before 'sysdate-2' delete input;
Backup backupset complete after 'sysdate-2' delete input;
7.7 閃回恢複區備份
RMAN 提供了對backup recovery area 命令將整個FRA備份到磁碟的功能,但並不是FRA中所有的檔案都備份,備份檔案包括:完整的備份組 和 增量
備份組,控制檔案自動備份,歸檔日誌 和 資料檔案副本。 如果備份的FRA中包含閃回日誌,當前的控制檔案以及聯機重做日誌,則不會備份這些文
件。 注意,必須將這些檔案備份到磁帶上。