RMAN的備份
?
?
?
一、Copy備份:
?
??? Copy用于數(shù)據(jù)文件的備份,可以復(fù)制單個數(shù)據(jù)文件、歸檔日志和控制文件等等。(其實跟OS里的復(fù)制粘貼是一個道理)
??? 具體語法如下:
??? COPY KEYWORD <input_file> TO <location> ;
?
??? 其中:input_file用文件地址'D:\oracle\oradata\dodo\WXQ_TBS.ORA'來表示需要備份的單個數(shù)據(jù)文件。
??? 關(guān)鍵字說明了文件的類型,包括:
??? DATAFILE: 備份數(shù)據(jù)文件
??? CURRENT CONTROLFILE: 備份控制文件
??? ARCHIVELOG: 備份歸檔日志
??? DATAFILECOPY: 備份已經(jīng)備份的數(shù)據(jù)文件
??? CONTROLFILECOPY: 備份已經(jīng)備份的控制文件
??? BACKUPPICE: 備份已經(jīng)使用BACKUP備份的文件
?
?
??? 舉例說明:
??? RMAN> copy datafile 'D:\oracle\oradata\dodo\XDB01.DBF' to 'D:\oracle\oradata\dodo\rmanback\test1.cp';
??? RMAN> copy current controlfile to 'D:\oracle\oradata\dodo\rmanback\test2.cp';
??? current controlfile 不能制定文件名
?
?
二、BackUp備份:
?
??? BACKUP是對數(shù)據(jù)的備份,可以備份某個表空間或者整個數(shù)據(jù)庫,語法如下:
??? BACKUP [level] <backup_type> ;
?
??? LEVEL為備份增量級,取值為FULL(全備份)或INCREMENTAL(增量備份)
??? BACKUP_TYPE為備份的數(shù)據(jù)庫對象類型,包括以下幾類:
?
1.備份數(shù)據(jù)庫:
?
①
RMAN> BACKUP DATABASE FORMAT 'e:\oradata\backup\%U';
<若不加FORMAT則自動復(fù)制到自己設(shè)定的默認(rèn)channel目錄里,若沒有默認(rèn)設(shè)置,則備份到ORACLE_HOME/database下>
②
RMAN> run {
2> allocate channel ch1 device type disk format 'e:\oradata\backup\%U';
3> allocate channel ch2 device type disk format 'e:\oradata\backup\%U';
4> BACKUP DATABASE;}
?
<另:備份之后可使用一下命令顯示備份信息
RMAN> list backup of database;>
?
2.備份表空間:
?
①
RMAN> BACKUP TABLESPACEUSERS FORMAT 'e:\oradata\backup\%U';
②
RMAN> configure channel 1 device type disk format 'e:\oradata\backup\%U';
RMAN> BACKUP TABLESPACEUSERS;
<channel后面跟的為號數(shù),不是名字,不能用ch1>
③
RMAN> run {
2> allocate channel ch1 device type disk format 'e:\oradata\backup\%U';
3> BACKUP TABLESPACE SYSTEM;}
?
<另:查看備份信息
RMAN> list backup of tablespace users;>
?
3.備份數(shù)據(jù)文件:
?
首先需要使用以下SQL來確定每個datafile的編號:
select
file_name,file_id,tablespace_name
from
dba_data_files;
?
①
RMAN> BACKUP DATAFILE 1,2,3;
?
<查看:
RMAN> list backup of datafile n;>
?
4.備份控制文件:
?
①
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> configure controlfile autobackup format for device type disk to 'e:\oradata\backup\ctl_%F';
<設(shè)置自動備份controlfile,以后任何操作都會自動備份到相應(yīng)地址>
②
對于SYSTEM TABLESPACE會自動備份CONTROLFILE
③
RMAN> BACKUP CURRENT CONTROLFILE;
④
在其他的備份操作中加入CONTROLFILE備份
RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE;
?
<查看:RMAN> list backup of controlfile;>
?
5.備份歸檔文件:
?
①
RMAN> BACKUP ARCHIVELOGALL [DELETE INPUT,DELETE ALL INPUT];
ALL:備份全部歸檔日志
DELETE INPUT:備份結(jié)束后刪除已經(jīng)備份的歸檔日志
DELETE ALL INPUT:備份結(jié)束后刪除歸檔目錄中的所有文件
?
②
在其他的備份操作中加入ARCHIVELOG備份
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
?
<PLUS ARCHIVELOG的工作流:
1.運行ALTER SYSTEM ARCHIVE LOG CURRENT語句對當(dāng)前redolog進(jìn)行歸檔
2.執(zhí)行BACKUP ARCHIVELOG ALL命令備份所有已歸檔日志
3.執(zhí)行BACKUP命令對指定項進(jìn)行備份
4.再次運行ALTER SYSTEM ARCHIVE LOG CURRENT對當(dāng)前redolog歸檔
5.對新生成的尚未備份的歸檔文件進(jìn)行備份>
?
<查看:RMAN> LIST BACKUP OF ARCHIVELOG ALL;>
?
?
?
三、增量備份:
?
??? RMAN提供了1-3級的增量備份級別來提高備份速度。
??? 增量備份可以在歸檔模式和非歸檔模式下進(jìn)行,但是在非歸檔模式下只能進(jìn)行脫機備份。
?
RMAN> BACKUP INCREMENTAL LEVEL=1 TABLESPACE system;
?
?
-The End-