| 維度 | Export/Import (邏輯) | 冷備份 (物理離線) | 熱備份 (物理在線) |
|---|---|---|---|
| 本質 | 邏輯導出 SQL/數據流 | OS 級文件拷貝 | OS 級文件拷貝 + 重做日志 |
| 業務影響 | 在線,性能輕微影響 | 必須停機 | 零停機,在線業務無感 |
| 恢復粒度 | 表/用戶/全庫 | 僅全庫至備份點 | 任意時間點 (PITR)、表空間/塊級 |
| 跨平台/版本 | ✅ 支持 (Data Pump) | ❌ 嚴格同平台同版本 | ❌ 嚴格同平台同版本 |
| 存儲空間 | 壓縮後較小 | 原始大小 | 原始大小 + 歸檔日志 |
| 操作複雜度 | 低 (expdp/impdp) | 極低 | 極高 (手工模式) |
| 風險等級 | 低 | 低 | 高 (分裂塊、操作序列錯誤) |
| 現代建議 | 遷移、小表、邏輯錯誤修復 | 小庫、維護窗口充足 | 全面替換為 RMAN |
-- 表級
expdp system/xxx@ORCL tables=SCOTT.EMP,SCOTT.DEPT directory=DP_DIR dumpfile=emp_dept.dmp logfile=exp.log
-- 用戶級 (Schema)
expdp system/xxx@ORCL schemas=SCOTT,HR directory=DP_DIR dumpfile=schemas.dmp logfile=exp.log compression=ALL
-- 全庫級
expdp system/xxx@ORCL full=Y directory=DP_DIR dumpfile=full_%U.dmp logfile=exp.log parallel=4 compression=ALL encryption=ALL
# 完全導出 (基線)
exp system/manager inctype=complete file=mon_full.dmp
# 每日增量
exp system/manager inctype=incremental file=tue_inc.dmp
# 週末累計
exp system/manager inctype=cumulative file=fri_cum.dmp
# 恢復順序:完全導入 → 最近累計導入 → 最近增量導入
imp system/manager inctype=RESTORE full=Y file=mon_full.dmp
imp system/manager inctype=RESTORE full=Y file=fri_cum.dmp
imp system/manager inctype=RESTORE full=Y file=sat_inc.dmp
-- 1. 正常關閉
SQL> SHUTDOWN IMMEDIATE;
-- 2. OS 層拷貝 (腳本化、校驗和、異地傳輸)
cp $ORACLE_HOME/dbs/*.ora /backup/control/
cp $ORACLE_BASE/oradata/ORCL/*.dbf /backup/datafile/
cp $ORACLE_BASE/oradata/ORCL/*.log /backup/redolog/
-- 3. 校驗
md5sum /backup/datafile/*.dbf > /backup/checksum.md5
-- 4. 啟動
SQL> STARTUP;
必備文件清單:所有數據文件、所有控制文件、所有聯機重做日志、SPFILE/PFILE、密碼文件。
ALTER TABLESPACE users BEGIN BACKUP;ALTER TABLESPACE users END BACKUP;ALTER SYSTEM ARCHIVE LOG CURRENT; 強制日志切換ALTER DATABASE BACKUP CONTROLFILE TO '/backup/control/control.bak';致命風險:分裂塊 (Block Fracture)、BEGIN/END BACKUP 忘記/順序錯誤、歸檔日志遺漏、控制文件不同步 → 導致備份集不可恢復。
-- 配置持久化
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 4 BACKUP TYPE TO COMPRESSED BACKUPSET;
-- 每日增量級聯備份腳本
RUN {
BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'DAILY_INCR' DATABASE PLUS ARCHIVELOG;
DELETE NOPROMPT OBSOLETE;
DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-3';
}
-- 週零級映像副本
RUN {
BACKUP INCREMENTAL LEVEL 0 DATABASE TAG 'WEEKLY_LVL0';
BACKUP ARCHIVELOG ALL;
}
RMAN 核心優勢:無分裂塊 (多版本塊讀取)、塊級增量、壓縮/加密/並行、目錄管理、腳本化、自動過期清理、Data Guard 整合、TSPITR 表空間時間點恢復。
| 業務場景 | 首選方案 | 輔助方案 | 禁用方案 |
|---|---|---|---|
| 核心交易 7×24、RPO<15min、RTO<1h | RMAN 級聯增量 + Data Guard 實時同步 | Flashback Database/Table | 冷備份、手工熱備份 |
| 數據倉庫/分析庫、日級載入、可接受數小時 RPO | RMAN 週全量 + 日增量 | Partition Exchange + 邏輯備份 | 冷備份 (影響載入窗口) |
| 跨平台遷移 / 版本升級 / 邏輯錯誤修復 | Data Pump 全庫/Schema/表級 | RMAN 轉換 (CONVERT) | 物理備份 |
| 小型開發/測試庫、有維護窗口 | 冷備份腳本化 | RMAN 簡化模式 | 手工熱備份 |
| 歷史審計/合規歸檔 | Data Pump 定期全量 + 歸檔存儲 | RMAN 長期保留 | 無 |
RESTORE VALIDATEV$RMAN_BACKUP_JOB_DETAILS、V$BACKUP_ASYNC_IO、歸檔目標空間、備份窗口完成率備份策略無最好,只有最適合。核心原則:RMAN 為主、Data Pump 為輔、冷備份為特定場景、手工熱備份進博物館。建立「備份→校驗→異地→演練→度量」閉環,將 RPO/RTO 內化為可度量、可考核的 SLA 指標,方是備份管理的專業境界。