RMAN 核心優勢回顧
- 增量備份:基於塊變更追蹤 (BCT),僅備份變更塊,大幅縮減備份窗口與存儲。
- 自動化管理:檔案命名、目錄維護、過期清理、恢復腳本生成全自動。
- 無額外 Redo:聯機備份不產生大量 Redo,降低主庫負載。
- 壓縮與加密:
BACKUP AS COMPRESSED BACKUPSET、SET ENCRYPTION ON 原生支援。
- 驗證機制:
RESTORE VALIDATE、BACKUP VALIDATE 確保可恢復性。
- 映像副本:
BACKUP AS COPY 生成即用格式,支援快速切換。
RMAN 架構組件
| 組件 | 角色 |
| RMAN 可執行檔 (rman) | 客戶端工具,解析命令、建立會話 |
| 目標資料庫 | 被備份/恢復的資料庫,需 SYSDBA 權限 |
| 恢復目錄 (Recovery Catalog) | 獨立資料庫 Schema,長期保存備份元數據、腳本、報表 (強烈建議生產使用) |
| 控制檔 | 預設元數據存儲 (循環覆寫,保留時間有限) |
| 媒體管理層 (MML/SBT) | 介接磁帶庫/虛擬磁帶 (如 NBU、Tivoli、DD Boost) |
| 快閃恢復區 (FRA) | 磁盤備份、歸檔、控制檔備份、閃回日誌統一管理目錄 |
快閃恢復區 (FRA) 深度管理
配置雙參數
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/u01/fra' SCOPE=BOTH;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 50G SCOPE=BOTH;
-- 動態調整大小
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 100G;
空間使用監控
-- 總覽
SELECT * FROM V$RECOVERY_FILE_DEST;
-- 按檔案類型細分
SELECT FILE_TYPE, PERCENT_SPACE_USED, PERCENT_SPACE_RECLAIMABLE, NUMBER_OF_FILES
FROM V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- ---------------
CONTROL FILE 0 0 0
REDO LOG 0 0 0
ARCHIVED LOG 18 0 30
BACKUP PIECE 0 0 0
IMAGE COPY 0 0 0
FLASHBACK LOG 0 0 0
FOREIGN ARCHIVED LOG 0 0 0
FRA 滿載應對策略
- 擴容:
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 100G; (受限於磁碟物理容量)。
- 清理過期/冗餘:
RMAN> CROSSCHECK BACKUP;
RMAN> DELETE NOPROMPT OBSOLETE; -- 依保留策略刪除
RMAN> DELETE NOPROMPT EXPIRED BACKUP; -- 清理不可訪問標記
- 轉移至磁帶:
BACKUP RECOVERY AREA; 將 FRA 內備份轉存 SBT。
- 遷移 FRA 位置:
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/new/fra'; (新舊並存期間空間雙佔)。
關鍵:CONTROL FILE、ONLINE REDO LOG 永不自動刪除;FLASHBACK LOG 受 DB_FLASHBACK_RETENTION_TARGET 控制。
常用 RMAN 操作速查
| 任務 | 命令範例 |
| 全庫備份 (含歸檔) | BACKUP DATABASE PLUS ARCHIVELOG; |
| 增量 Level 0 | BACKUP INCREMENTAL LEVEL 0 DATABASE; |
| 增量 Level 1 (差異) | BACKUP INCREMENTAL LEVEL 1 DATABASE; |
| 增量 Level 1 (累積) | BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE; |
| 僅備份歸檔 | BACKUP ARCHIVELOG ALL DELETE INPUT; |
| 控制檔自動備份開啟 | CONFIGURE CONTROLFILE AUTOBACKUP ON; |
| 設定保留策略 | CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; |
| 啟用塊變更追蹤 | ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/u01/bct/rman_bct.f'; |
| 時間點恢復 (PITR) | RUN { SET UNTIL TIME '2024-06-15 10:00:00'; RESTORE DATABASE; RECOVER DATABASE; } |
| 表空間恢復 (TSPITR) | RECOVER TABLESPACE users UNTIL TIME '...' AUXILIARY DESTINATION '/tmp/aux'; |
| 驗證備份可用性 | RESTORE VALIDATE DATABASE; BACKUP VALIDATE DATABASE; |
生產環境配置清單
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE DEVICE TYPE SBT_TAPE PARALLELISM 2;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/fra/snapcf.f';
-- 配置 SBT 參數 (視媒體管理廠商)
CONFIGURE CHANNEL DEVICE TYPE SBT_TAPE PARMS 'ENV=(NB_ORA_CLIENT=prod-db,NB_ORA_POLICY=oracle_full)';
RMAN + FRA + Recovery Catalog = 企業級備份恢復的「鐵三角」。熟練掌握配置、監控、演練,才能在災難瞬間從容應對。