Recovery Manager (RMAN) 是 Oracle 原生備份恢復工具,提供命令列與 GUI (Enterprise Manager) 兩種介面。它標準化、自動化備份恢復流程,減少人為錯誤,是現代 Oracle 災難防護的核心引擎。
支援備份:完整資料庫、表空間、資料檔、控制檔、伺服器參數檔 (SPFILE)、歸檔日誌。可在 RUN 區塊中組合多對象、多通道並行備份。
僅備份已使用區塊,自動跳過未格式化/未使用區塊(空區塊)。大幅減少備份體積與 I/O,尤其對稀疏表空間效果顯著。BACKUP AS COMPRESSED BACKUPSET DATABASE;
INCREMENTAL LEVEL 1 CUMULATIVE):自上次 Level 0 後所有變更區塊,恢復時僅需 Level 0 + 最新累計。策略範例:週日 Level 0,週一~六 Level 1 差異,或週五 Level 1 累計。
-- 儲存腳本至恢復目錄
CREATE SCRIPT daily_backup {
BACKUP INCREMENTAL LEVEL 1 DATABASE PLUS ARCHIVELOG;
}
-- 執行
RUN { EXECUTE SCRIPT daily_backup; }
腳本支援替換變數、條件邏輯,實現標準化、可版本控管的備份流程。
所有 RMAN 操作自動記錄至:
• 控制檔(控制檔記錄保留期 CONTROL_FILE_RECORD_KEEP_TIME)。
• 恢復目錄(長期保存、跨實例查詢)。
• V$RMAN_STATUS、V$RMAN_OUTPUT 即時監控視圖。
透過 Media Management Library (MML) API 與 Veritas NetBackup、EMC Networker、IBM Tivoli、CommVault 等主流磁帶/去重存儲無縫整合,納入企業統一備份策略。
| 命令 | 用途 |
|---|---|
| LIST BACKUP | 列出備份集/映像副本詳細資訊 |
| LIST COPY | 列出磁碟映像副本 |
| REPORT NEED BACKUP | 顯示未備份/需備份的檔案(依冗余度/恢復窗口) |
| REPORT OBSOLETE | 顯示過期可刪除的備份 |
| REPORT SCHEMA | 顯示資料庫結構(表空間/檔案) |
獨立資料庫儲存所有目標庫備份元數據,支援:
• 多目標庫集中管理。
• 長期歷史保留(控制檔空間有限)。
• 跨機器恢復(目標庫控制檔遺失時)。
建議:專用恢復目錄庫、啟用 ARCHIVELOG、定期備份目錄庫自身。
CONFIGURE DEVICE TYPE DISK PARALLELISM 4;
多通道並行讀寫,自動負載均衡至多磁碟/磁帶設備,大幅縮短備份窗口與恢復時間 (RTO)。
VALIDATE BACKUPSET:讀取備份塊驗證校驗和,不還原資料,確認備份可用性。VALIDATE DATABASE:掃描資料檔檢查壞塊。CROSSCHECK:比對恢復目錄/控制檔記錄與實際備份檔案是否存在,清理失效記錄。CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;CONFIGURE BACKUP OPTIMIZATION ON;CONFIGURE CONTROLFILE AUTOBACKUP ON;CONFIGURE DEVICE TYPE DISK PARALLELISM 4;RMAN 不只是備份工具,是「可恢復性」的保證體系。唯有「配置標準化、流程腳本化、演練常態化、監控可視化」,才能在災難降臨時從容應對,將 RTO/RPO 控制在業務可接受範圍內。