RMAN的操作指令
?
?
?
一、run命令:
?
??? run作為rman中的批處理命令,其實(shí)質(zhì)是將原來單個(gè)執(zhí)行的命令組合到一起,放在run{}之間,批量執(zhí)行。
??? 使用run的優(yōu)點(diǎn)是其中的任何一條命令失敗后則整個(gè)批處理停止執(zhí)行。
?
??? run可以執(zhí)行的命令包括:BACKUP、ALLOCATE、EXECUTE、SCRIPT、RESTORE、RECOVER、SQL、HOST
?
??? 手動(dòng)配置通道的語法
?
??? run{
??? ALLOCATE CHANNEL channel_name DEVICE TYPE DISK;
??? BACKUP ...
??? ...}
?
??? 可以設(shè)置多個(gè)以提高效率
?
??? 其他的命令以后詳述。
?
二、列表指令:
?
??? RMAN> LIST BACKUP OF DATABASE; //列出全庫(kù)備份信息
??? RMAN> LIST COPY OF TABLESPACE 'SYSTEM'; //列出COYP后的TABLESPACE信息
??? RMAN> LIST BACKUP OF DATAFILE D:\oracle\oradata\dodo\SYSTEM01.DBF'; //列出制定數(shù)據(jù)文件備份信息
?
??? RMAN> LIST EXPIRED BACKUP; //得到過期的備份信息
??? RMAN> LIST EXPIRED COPY;
?
??? 其他需要的信息均可按以上格式得到
?
?
三、刪除指令:
?
??? 1、刪除所有backup備份:
?
??? RMAN> delete backup;
?
??? 2、刪除所有copy備份:
?
??? RMAN> delete copy;
?
??? 3、刪除陳舊備份:
?
??? RMAN> delete obsolete;
??? <按備份冗余策略確定陳舊備份,具體參見(二)>
?
??? 4、刪除expired備份:
?
??? 首先使用crosscheck命令核對(duì)備份集:
??? RMAN> crosscheck backup;
??? RMAN> crosscheck copy;
?
??? 會(huì)將終止的備份集標(biāo)記為expired,然后刪除
??? RMAN> delete expired backup;
??? RMAN> delete expired copy;
?
??? 說明:crosscheck命令的作用是檢測(cè)backup或copy的文件是否存在或損壞,當(dāng)損壞或刪除時(shí)標(biāo)注為expired
????????? 標(biāo)記之后使用delete expired刪除錯(cuò)誤文件以及目錄中的信息。
?
??? 5、刪除特定備份集:
?
??? RMAN> delete backupset 19;
??? 注:具體的備份集號(hào)可使用LIST命令查看
?
??? 6、刪除特定備份片:
?
??? RMAN> delete backuppiece 'D:\ORACLE\ORADATA\DODO\RMANBACK\1EJRIHHI_1_1';
??? 注意:路徑必須全部用大寫,某則報(bào)錯(cuò)
????????? 其實(shí)這個(gè)路徑可以通過LIST命令中的Piece Name來獲得
?
??? 7、刪除特定映像副本:
?
??? RMAN> delete datafilecopy 'D:\ORACLE\ORADATA\DODO\RMANBACK.A';
??? 地址可以通過<
RMAN> list copy; >命令結(jié)果集中的NAME字段獲得
??? 注意:此處的地址可以用小寫
?
??? 8、刪除archivelog:
?
??? RMAN> delete archivelog 'D:\ORACLE\ORADATA\DODO\ARCHIVE\1_16.DBF';
??? RMAN> delete archivelog all;
??? RMAN> delete archivelog all delete input;
?
?
?
四、其他的命令:
?
??? 1、catalog命令:
?
??? catalog命令主要用于將手動(dòng)備份文件加入到恢復(fù)目錄中,命令格式如下:
??? CATALOG <type> <file_name> <option> ;
??? type包括:
??? DATAFILECOPY、CONTROLFILECOPY、ARCHIVELOG
??? opntion包括:
??? TAG=tag_name //標(biāo)記名稱
??? LEVEL=intger //增量備份級(jí)數(shù)
?
??? 例:
??? RMAN> catalog archivelog 'D:\ORACLE\ORADATA\DODO\ARCHIVE\1_17.DBF';
??? RMAN> catalog datafilecopy 'D:\oracle\oradata\dodo\rmanback\A' tag='abc' level=1;
??? 注意:archivelog不支持設(shè)置tag和level
?
?
??? 2、CHANGE命令:
?
??? 用于手動(dòng)修改目錄中的信息狀態(tài),具體格式如下:
??? CHANGE <type> <file_name> [option];
??? type包括:
??? DATAFILECOPY、BACKUP OF、COPY OF、CONTROLFILECOPY、ARCHIVELOG
??? opntion包括:
??? DELETE:表示將文件刪除
??? AVAILABLE:將恢復(fù)目錄中指定的文件修改為可用
??? UNAVAILABLE:將恢復(fù)目錄中指定的文件修改為不可用
??? UNCATALOG:將已被物理刪除的文件信息從恢復(fù)目錄中刪除
?
??? 例:
??? RMAN> change datafilecopy 'D:\oracle\oradata\dodo\rmanback\A' delete;
?
?
?
五、腳本運(yùn)行命令:
?
?
??? 1、直接在系統(tǒng)下執(zhí)行:
?
??? C:\Documents and Settings\wangxiaoqi> D:
??? D:\> cd oracle\oradata\dodo\rmanback
??? D:\oracle\oradata\dodo\rmanback> rman target / @test.rman
?
??? 2、登錄后執(zhí)行:
?
??? RMAN> @backup_db.rman
?
??? 3、利用run運(yùn)行:
?
??? RMAN> RUN { @test.rman }
?
??? 運(yùn)行存儲(chǔ)在恢復(fù)目錄中的腳本:
??? RMAN> RUN { EXECUTE SCRIPT test_command };
?
??? 4、執(zhí)行操作系統(tǒng)腳本:
?
??? D:\oracle\oradata\dodo\rmanback> rman cmdfile=test.rman
??? 注意:必須在腳本中加入登錄信息
?
?
?
?
-The End-