1. 備用資料庫管理全面強化
11g R2 為物理、邏輯、快照備用資料庫提供統一管理介面與自動化作業,簡化切換、故障轉移、開啟唯讀驗證等日常運維。
2. 整合應用程式快速故障轉移 (FAN)
- 早期版本依賴 TAF (Transparent Application Failover),切換延遲較大。
- 11g R2 引入 Fast Application Notification (FAN),配合 ONS (Oracle Notification Service) 即時推送事件給客戶端驅動 (JDBC/UCP, ODP.NET, OCI),實現 亞秒級故障感知與連線重導向。
3. 即時應用與延遲控制 (Real-Time Apply + STANDBY_MAX_DATA_DELAY)
- Real-Time Apply:重做日誌直接從 Standby Redo Log 應用,無需等待封存,大幅縮短 RPO。
- Real-Time Query:備用庫開啟唯讀同時應用重做,支援報表查詢分流。
- 新參數
STANDBY_MAX_DATA_DELAY (Session 級,單位:秒):設定可容忍的最大延遲。若延遲超過閾值,查詢直接拋出 ORA-03172,避免讀取過舊資料造成業務錯誤。
4. 完整支援壓縮表與 SecureFiles
- 邏輯備用 (SQL Apply) 現在支援:
– 基本表壓縮 (DSS)
– 進階表壓縮 (OLTP)
– Hybrid Columnar Compression (HCC, Exadata)
– SecureFiles LOB (含重複刪除、加密、壓縮)
- LogMiner 可解析上述壓縮/LOB 重做記錄,確保 SQL Apply 正確重放。
架構優勢總結
| 增強項目 | 業務價值 |
| 統一備用庫管理 | 降低運維複雜度,減少人為錯誤 |
| FAN 快速故障轉移 | 應用層無感知切換,業務連續性 SLA 大幅提升 |
| STANDBY_MAX_DATA_DELAY | 資料新鮮度可控,防止唯讀查詢讀到過期資料 |
| 壓縮/LOB 全支援 | 儲存成本降低 50%+,無需為 Data Guard 犧牲壓縮功能 |
部署建議
- 啟用
LOG_ARCHIVE_DEST_n 設定 SYNC/ASYNC、AFFIRM/NOAFFIRM、VALID_FOR 精確控制傳輸模式。
- 應用端連線字串加入
FAILOVER / LOAD_BALANCE 描述,配合 FAN 事件自動切換。
- 關鍵報表 Session 設定
ALTER SESSION SET STANDBY_MAX_DATA_DELAY = 30; (容忍 30 秒延遲)。
- 定期演練
SWITCHOVER 與 FAILOVER,驗證 RTO/RPO 指標。