RMAN學習筆記04——操作指令
?
?
??? 在使用RMAN進行備份和恢復之后,有很多命令可以用來查詢當先的備份集、以及各類狀態、信息。下面簡單介紹一下這些命令的使用方法:
?
?
一、run命令:
?
??? run作為rman中的批處理命令,其實質是將原來單個執行的命令組合到一起,放在run{}之間,批量執行。
??? 使用run的優點是其中的任何一條命令失敗后則整個批處理停止執行。
?
??? run可以執行的命令包括:BACKUP、ALLOCATE、EXECUTE、SCRIPT、RESTORE、RECOVER、SQL、HOST
?
??? 手動配置通道的語法
?
??? run{
??? ALLOCATE CHANNEL channel_name DEVICE TYPE DISK;
??? BACKUP ...
??? ...}
?
??? 可以設置多個以提高效率
?
??? 其他的命令以后詳述。
?
?
二、列表指令:
?
??? RMAN> LIST BACKUP OF DATABASE; //列出全庫備份信息
??? RMAN> LIST COPY OF TABLESPACE 'SYSTEM'; //列出COYP后的TABLESPACE信息
??? RMAN> LIST BACKUP OF DATAFILE D:\oracle\oradata\dodo\SYSTEM01.DBF'; //列出制定數據文件備份信息
?
??? RMAN> LIST EXPIRED BACKUP; //得到過期的備份信息
??? RMAN> LIST EXPIRED COPY;
?
??? 其他需要的信息均可按以上格式得到
?
?
三、刪除指令:
?
???
1、刪除所有backup備份:
?
??? RMAN> delete backup;
?
??? 2、刪除所有copy備份:
?
??? RMAN> delete copy;
?
??? 3、刪除陳舊備份:
?
??? RMAN> delete obsolete;
?
??? 注:按備份冗余策略確定陳舊備份,具體參見“RMAN學習筆記02--常用設置”
?
??? 4、刪除expired備份:
?
??? 首先使用crosscheck命令核對備份集:
??? RMAN> crosscheck backup;
??? RMAN> crosscheck copy;
?
??? 會將終止的備份集標記為expired,然后刪除
??? RMAN> delete expired backup;
??? RMAN> delete expired copy;
?
??? 說明:crosscheck命令的作用是檢測backup或copy的文件是否存在或損壞,當損壞或刪除時標注為expired
???????? 標記之后使用delete expired刪除錯誤文件以及目錄中的信息。
?
??? 5、刪除特定備份集:
?
??? RMAN> delete backupset 19;
??? 注:具體的備份集號可使用LIST命令查看
?
??? 6、刪除特定備份片:
?
??? RMAN> delete backuppiece 'D:\ORACLE\ORADATA\DODO\RMANBACK\1EJRIHHI_1_1';
?
??? 注意:路徑必須全部用大寫,否則報錯
???????? 其實這個路徑可以通過LIST命令中的Piece Name來獲得
?
??? 7、刪除特定映像副本:
?
??? RMAN> delete datafilecopy 'D:\ORACLE\ORADATA\DODO\RMANBACK.A';
??? 地址可以通過<
RMAN> list copy; >命令結果集中的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命令主要用于將手動備份文件加入到恢復目錄中,命令格式如下:
??? CATALOG <type> <file_name> <option> ;
?
??? type包括:
??? DATAFILECOPY、CONTROLFILECOPY、ARCHIVELOG
?
??? opntion包括:
??? TAG=tag_name //標記名稱
??? LEVEL=intger //增量備份級數
?
??? 例:
??? 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不支持設置tag和level
?
?
??? 2、CHANGE命令:
?
??? 用于手動修改目錄中的信息狀態,具體格式如下:
??? CHANGE <type> <file_name> [option];
?
??? type包括:
??? DATAFILECOPY、BACKUP OF、COPY OF、CONTROLFILECOPY、ARCHIVELOG
?
??? opntion包括:
??? DELETE:表示將文件刪除
??? AVAILABLE:將恢復目錄中指定的文件修改為可用
??? UNAVAILABLE:將恢復目錄中指定的文件修改為不可用
??? UNCATALOG:將已被物理刪除的文件信息從恢復目錄中刪除
?
??? 例:
??? RMAN> change datafilecopy 'D:\oracle\oradata\dodo\rmanback\A' delete;
?
?
五、腳本運行命令:
?
??? 1、直接在系統下執行:
?
??? C:\Documents and Settings\wangxiaoqi> D:
??? D:\> cd oracle\oradata\dodo\rmanback
??? D:\oracle\oradata\dodo\rmanback> rman target / @test.rman
?
??? 2、登錄后執行:
?
??? RMAN> @backup_db.rman
?
??? 3、利用run運行:
?
??? RMAN> RUN { @test.rman }
?
??? 運行存儲在恢復目錄中的腳本:
?
??? RMAN> RUN { EXECUTE SCRIPT test_command };
?
??? 4、執行操作系統腳本:
?
??? D:\oracle\oradata\dodo\rmanback> rman cmdfile=test.rman
?
??? 注意:必須在腳本中加入登錄信息
?
?
?