Oracle 備份分為「物理備份 (RMAN/OS Copy)」、「邏輯備份 」與「冷備份」三大類,各具備不同恢復特性(Point-in-Time、完整恢復、不完整恢復)。本文建構企業級備份策略矩陣,並詳細實戰三大故障場景恢復流程:實例失敗、介質損壞、邏輯錯誤 (Point-in-Time Recovery)。
| 層面 | 策略 | 技術手段 | RPO/RTO 目標 |
|---|---|---|---|
| 高可用架構 | 雙機熱備 + 存儲鏡像 | RAC / Data Guard + 存儲陣列遠程複寫 | RPO=0, RTO<5min |
| 控制檔保護 | 多路徑多重複本 | CONTROL_FILES 指定 3+ 路徑,含不同物理磁碟 | 避免單點故障 |
| 歸檔模式 | 強制 ARCHIVELOG | 歸檔日誌存放於獨立鏡像磁碟/ASM | 支援 PITR |
| 物理熱備份 | 每日 RMAN 線上備份 | 全量 + 增量 (Level 0/1),含控制檔、SPFILE、歸檔日誌 | RPO=24h |
| 邏輯備份 | 每週 Expdp 全庫導出 | Schema/Table 級,輔助邏輯錯誤快速恢復 | RPO=168h |
觸發:Server 掛掉、Instance Crash、SHUTDOWN ABORT。
恢復流程(完全自動):
⚠ 無需人工干預,核心在於 FAST_START_MTTR_TARGET 控制恢復時間預期。
SHUTDOWN ABORT;
-- 從備份路徑複製任一完整控制檔到所有 CONTROL_FILES 路徑
CP /backup/control01.ctl /u01/oradata/prod/control01.ctl
CP /backup/control01.ctl /u02/oradata/prod/control02.ctl
STARTUP;
-- 前提:上一晚 RMAN 全備份 + 完整歸檔日誌
-- 1. 還原遺失檔案
RMAN> RESTORE DATAFILE 15; -- 或 RESTORE TABLESPACE users;
-- 2. 恢復 (應用歸檔 + Online Redo)
RMAN> RECOVER DATAFILE 15;
-- 3. 開啟資料庫
RMAN> ALTER DATABASE OPEN;
-- 或 SQL*Plus 手動模式
STARTUP MOUNT;
RESTORE DATAFILE 15;
RECOVER DATAFILE 15;
ALTER DATABASE OPEN;
關鍵:備份保留策略必須覆蓋「最後一次備份 → 當前」所有歸檔日誌 + Online Redo。
場景:誤 DROP TABLE、誤 DELETE 無 WHERE、誤 TRUNCATE、應用 Bug 寫入髒資料。
核心思路:利用備用庫 (Standby/Clone) 前向滾動到錯誤發生前 SCN/時間,導出受影響物件,導入生產庫。
EXPDP → 備用庫 IMPDP,或啟用 Data Guard 實時同步。-- 備用庫上
STARTUP MOUNT;
RECOVER DATABASE UNTIL TIME '2024-01-15 14:30:00' USING BACKUP CONTROLFILE;
ALTER DATABASE OPEN RESETLOGS;
EXPDP system/pwd TABLES=scott.emp DIRECTORY=dpump DUMPFILE=emp_pitr.dmp
IMPDP system/pwd TABLES=scott.emp DIRECTORY=dpump DUMPFILE=emp_pitr.dmp TABLE_EXISTS_ACTION=REPLACE
FLASHBACK TABLE emp TO TIMESTAMP ... (需啟用 Row Movement)FLASHBACK DATABASE TO TIMESTAMP ... (需啟用 Flashback Database,整庫回溯)FLASHBACK QUERY / VERSIONS QUERY 手動構造回滾 SQLFlashback 秒級恢復,PITR 分鐘至小時級。優先 Flashback,無法滿足時再用 PITR。
ROLE_APP_READ、ROLE_APP_WRITE、ROLE_DBA、ROLE_BATCH。GRANT SELECT, INSERT ON scott.emp TO ROLE_APP_WRITE;。GRANT ROLE_APP_WRITE TO app_user;。DBA、ANY 系統權限給應用帳號。備份策略的核心在於 分層防護:存儲鏡像防硬體故障、RMAN 物理備份防介質損壞、Expdp 邏輯備份防人為錯誤、Flashback 防秒級誤操作、Data Guard 防災難性故障。恢復演練必須納入季度計畫,驗證 RPO/RTO 達標,才是真正的高可用。