RMAN 內建命令與 SQL*Plus 完全一致,支援完整生命週期控制:
RMAN> STARTUP MOUNT;
RMAN> ALTER DATABASE OPEN;
RMAN> SHUTDOWN IMMEDIATE;
適用於備份前置/後續操作(如一致性備份需 MOUNT 狀態)。
RMAN> HOST; -- 進入 OS Shell
$ ls -l /backup
$ exit -- 返回 RMAN
RMAN> HOST 'ls -l'; -- 單條命令直跑
便於腳本中呼叫外部工具(壓縮、傳輸、通知)。
RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
限制: 無法執行 SELECT(不返回結果集)。需查詢時請 HOST sqlplus ...。
RMAN 持久配置儲存於控制檔/恢復目錄,跨會話生效:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
SHOW ALL; -- 全部
SHOW RETENTION POLICY;
SHOW DEVICE TYPE;
SHOW CHANNEL;
LIST BACKUP OF DATABASE;
LIST COPY OF TABLESPACE SYSTEM;
LIST BACKUP OF DATAFILE '/u01/app/oracle/oradata/users01.dbf';
LIST BACKUP SUMMARY;
| 命令 | 用途 |
|---|---|
DELETE OBSOLETE; | 依保留策略刪除過期備份 |
DELETE EXPIRED BACKUP; | 刪除實體遺失(CROSSCHECK 標記 EXPIRED)的備份記錄 |
DELETE BACKUPSET 123; | 刪除指定備份集 |
DELETE BACKUPPIECE '/backup/xxx'; | 刪除指定備份片段 |
DELETE ARCHIVELOG ALL DELETE INPUT; | 備份歸檔並刪除原始輸入 |
RUN {
SET UNTIL TIME 'SYSDATE-1'; -- 時間點恢復
SET NEWNAME FOR DATAFILE 1 TO '/new/path/system01.dbf'; -- 重定位
ALLOCATE CHANNEL CH1 DEVICE TYPE DISK;
ALLOCATE CHANNEL CH2 DEVICE TYPE DISK;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
}
關鍵特性: RUN 內命令為原子單元,任一失敗整體回滾;支援 SET 臨時覆蓋持久配置。
.rman 腳本,納入版控msglog 記錄完整輸出,配合監控系統告警失敗作業CROSSCHECK + DELETE EXPIRED/OBSOLETE 保持目錄乾淨LIST/REPORT 以滿足稽核與容量規劃需求