安全防護雙維度:內因(系統脆弱性)+ 外因(人為/環境威脅)
硬體故障、軟體缺陷、操作失誤、惡意攻擊……**備份與恢復是應對所有內外風險的最後防線**。
三大標準備份方式詳細實戰
1. 導出/導入(邏輯備份)—— Data Pump `expdp`/`impdp`
三種模式:
- 表模式 (TABLE): 指定表導出,適合單表遷移/歸檔。
- 用戶模式 (SCHEMA): 指定 Schema 導出所有物件與資料,**最常用**。
- 全庫模式 (FULL): 導出整個資料庫(需 `DATAPUMP_EXP_FULL_DATABASE` 役)。
增量導出策略(傳統 `exp`/現代 `expdp` 均支援)
| 類型 | 範圍 | 典型排程 |
| 完全增量 | 整個資料庫 | 週一 |
| 增量增量 | 上次備份後變更 | 週二-四、六-日 |
| 累計增量 | 上次完全增量後所有變更 | 週五 |
恢復順序:**完全增量 → 最近累計增量 → 最近增量增量**。
2. 冷備份(物理備份)—— 最簡單、最安全、最快速
前提: 資料庫**正常關閉**(`SHUTDOWN NORMAL/IMMEDIATE/TRANSACTIONAL`)。
必備檔案清單:
- 所有資料檔
- 所有控制檔
- 所有線上 Redo Log 檔
- 參數檔(SPFILE/PFILE,可選但建議)
優點: 複製即備份、易歸檔、恢復即複製回、可結合歸檔做時間點恢復、低維護高安全。
缺點: 需停機、單機時間點恢復、無法表級恢復、磁帶寫入慢。
實戰腳本:
# 1. 關閉資料庫
sqlplus / as sysdba <
3. 熱備份(物理備份,業務不停機)—— 必須歸檔模式
三步驟核心流程:
- 表空間級備份:
- `ALTER TABLESPACE ts_name BEGIN BACKUP;`(進入備份模式,凍結檔案頭 SCN,產生額外 Redo)
- OS 複製該表空間所有資料檔
- `ALTER TABLESPACE ts_name END BACKUP;`(恢復正常,更新檔案頭 SCN)
- 歸檔日誌備份:
- `ALTER SYSTEM ARCHIVE LOG CURRENT;`(強制切換日誌,確保當前歸檔)
- 複製歸檔目的地所有未備份歸檔檔
- 控制檔備份:
- `ALTER DATABASE BACKUP CONTROLFILE TO '/backup/control_YYYYMMDD.ctl';`
- 或 `TO TRACE` 產生重建腳本
優點: 表空間粒度、業務不停、秒級恢復點、幾乎所有實體可恢復、恢復快多數情況業務不停。
缺點: **容錯率極低**(忘記 END BACKUP → 表空間凍結、資料庫掛起;歸檔目的地滿 → 資料庫凍結),**嚴禁失敗**。
資料完整性鐵律:約束下沉、觸發器備援、應用層輔助
- 資料庫層強制: PK、FK、UK、CHECK、NOT NULL、**前端限制必須 ≤ 後端定義**(否則靜默截斷)。
- 違規回饋詳盡: 约束名、欄位、違規值、建議動作,**拒絕通用錯誤訊息**。
- 複雜規則用觸發器: 跨表、跨行、時序邏輯,**觸發器與資料共生死**,應用程式可繞過。
- 應用層輔助: 格式驗證、友好提示、業務流程控制,**不可替代資料庫約束**。
總結:構建分層防護體系
| 層級 | 技術手段 | 防禦目標 | RPO/RTO |
| L1 預防 | 約束、觸發器、權限、審計、加密、資料遮罩 | 邏輯錯誤、越權存取、敏感資料洩露 | RPO=0, RTO=0 |
| L2 檢測 | DBCC/DBV、AWR/ASH 異常告警、審計追蹤、完整性檢查 | 資料損壞早發現、入侵偵測 | 分鐘級 |
| L3 恢復 | 冷/熱/邏輯備份、RMAN、Data Guard、閃回技術、TSPITR | 災難性故障、誤操作、勒索軟體 | 視策略定 |
| L4 驗證 | 定期恢復演練、資料核對、業務冒煙測試、備份不可變性 | 備份可用性保證、合規稽核 | 月/季度 |
**資料安全無終點,只有持續演進的防護體系。**