第二篇:備份與恢復——安全的最後防線
一、邏輯備份:Export/Import / Data Pump
| 工具 | 版本 | 並行度 | 網絡模式 | 壓縮/加密 | 適用場景 |
| EXP/IMP | ≤10g | 單線程 | 不支持 | 不支持 | 舊版本遷移、小數據量 |
| EXPDP/IMPDP | 10g+ | 支持(PARALLEL) | 支持(NETWORK_LINK) | 支持(COMPRESSION/ENCRYPTION) | 標準邏輯備份、跨版本遷移、表級恢復 |
Data Pump最佳實踐模板
-- 完整導出(含元數據+數據)
expdp system/**** directory=DP_DIR dumpfile=FULL_%U.dmp logfile=FULL.log \
full=Y parallel=4 compression=ALL encryption=ALL encryption_password=**** \
metrics=YES logtime=ALL
-- Schema級導出
expdp system/**** directory=DP_DIR dumpfile=SCHEMA_%U.dmp logfile=SCHEMA.log \
schemas=APP_OWNER parallel=4 compression=DATA_ONLY
-- 表級導出(含統計信息)
expdp system/**** directory=DP_DIR dumpfile=TABLES.dmp logfile=TABLES.log \
tables=APP_OWNER.CORE_TABLE include=STATISTICS
導入關鍵參數
impdp system/**** directory=DP_DIR dumpfile=FULL_01.dmp logfile=IMP.log \
full=Y parallel=4 \
table_exists_action=REPLACE \
transform=SEGMENT_ATTRIBUTES:N:INDEX \
exclude=STATISTICS \
remap_tablespace=OLD_TS:NEW_TS \
remap_schema=OLD_OWNER:NEW_OWNER
二、物理備份:冷備份 vs 熱備份 vs RMAN
| 類型 | 業務影響 | 恢復粒度 | 速度 | 一致性 | 適用場景 |
| 冷備份 | 停機 | 整庫/表空間/文件 | 快(OS級拷貝) | 完全一致 | 可接受停機窗口、小型庫、測試環境 |
| 熱備份 | 無停機 | 整庫/表空間/文件/塊 | 中(RMAN) | 不一致(需Redo恢復) | 7x24業務、大型庫、生產環境標配 |
| RMAN備份 | 無停機 | 整庫/表空間/數據文件/塊/表/架構 | 快(並行/壓縮/增量/塊變更追蹤) | 不一致(需Redo恢復) | 生產環境首選、Oracle原生、功能最全 |
RMAN核心配置(生產級標準)
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/rman/cf_%F';
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 2 TIMES TO DEVICE TYPE DISK;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/backup/rman/snapcf.f';
增量備份策略:Level 0 + Level 1 累積/差分
-- Level 0 基線 (每週日)
BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG;
-- Level 1 累積 (每日) - 推薦:恢復只需L0+最新L1累積
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE PLUS ARCHIVELOG;
-- Level 1 差分 (每日) - 體積小但恢復需應用所有L1
BACKUP INCREMENTAL LEVEL 1 DATABASE PLUS ARCHIVELOG;
三、恢復體系:從文件級到時間點
| 恢復類型 | 觸發場景 | 核心命令 | 前置條件 |
| 完整恢復 | 數據文件損壞、磁盤故障 | RESTORE DATABASE; RECOVER DATABASE; | 備份完整、歸檔完整 |
| 表空間恢復 | 單表空間損壞 | RESTORE TABLESPACE users; RECOVER TABLESPACE users; | 表空間OFFLINE |
| 數據文件恢復 | 單文件損壞 | RESTORE DATAFILE 5; RECOVER DATAFILE 5; | 文件OFFLINE |
| 塊級恢復 | 少量壞塊 | RECOVER DATAFILE 5 BLOCK 123, 456; | 數據庫OPEN、塊損壞標記 |
| 時間點恢復 (PITR) | 邏輯錯誤、誤操作 | SET UNTIL TIME '...'; RESTORE DATABASE; RECOVER DATABASE; | 歸檔模式、目標SCN/時間 |
| 表級恢復 (TSPITR) | 單表誤刪/誤改 | RECOVER TABLESPACE ... AUXILIARY DEST ... | 獨立恢復實例、表空間自包含 |
四、備份驗證:不可跳過的質量門
-- 1. RMAN驗證備份集可用性
VALIDATE BACKUPSET 123;
VALIDATE DATABASE; -- 檢查數據文件一致性
-- 2. 物理備份文件校驗和
# 定期對比備份文件MD5/SHA256與RMAN Catalog記錄
-- 3. 季度恢復演練 (強制)
# 1. 克隆生產環境至測試機
# 2. 執行完整恢復流程
# 3. 業務驗證核心功能
# 4. 記錄RTO/RPO實測值,對比目標
結語
備份不等於可恢復,**只有經過驗證的備份才是資產**。建議構建「RMAN為主、Data Pump為輔、冷備份為底」三層備份體系,配合自動化驗證腳本、季度實戰演練、RTO/RPO量化考核,將備份恢復從「事後補救」轉型為「業務連續性保障能力」。