前言
分散式系統需跨資料庫同步資料。Oracle 提供多種複寫技術,選型取決於網路頻寬、延遲、高可用性、資料自主權等需求。
為何需要複寫
- 遠端存取頻寬不足/昂貴(無線、撥號、ISDN)。
- 網路延遲導致 JDBC 多次來回極慢(HTTP 較不敏感)。
- 單點故障不可接受,需熱備份即時接管。
- 法規/安全要求資料本地自主控制(如政府機關跨部門共享但不可合併)。
複寫拓撲
- 單向(Master → Replica)。
- 雙向/多主。
- N向(≥3 節點全同步),複雜度高,建議採用版本化策略避免衝突。
Oracle 三大複寫技術比較
| 技術 | 類型 | 傳輸內容 | 網路需求 | 適用場景 |
| Advanced Replication | 資料複寫 | 資料變更(DML/DDL) | LAN/高速 WAN,需 SQL*Net | 同構 Oracle、低延遲、需同步 DDL |
| Advanced Queuing (AQ) | 程序複寫 | 已提交事務(訊息) | 支援 HTTP/SMTP,適合 WAN | 異構/寬頻不穩、需 XML 封裝、事務語意複寫 |
| 9iAS Integration (Oracle9iAS) | 應用整合 | 基於 AQ 的訊息中心 + 路由/轉換 | 企業級 EAI,跨非 Oracle 系統 | 異構系統整合、內容路由、值域映射 |
關鍵差異解析
Advanced Replication
- 捕獲資料層變更,自動傳播至遠端資料庫。
- 無需程式碼,支援 DDL 複寫。
- 依賴資料庫連結,不適合高延遲 WAN。
Advanced Queuing (AQ)
- 應用層將業務操作封裝為事務訊息(如「運費變更」而非底層表異動)。
- 支援 XML 負載、HTTP/SMTP 傳輸,穿透防火牆。
- 需開發佇列生產/消費邏輯。
9iAS Integration
- 圍繞 AQ 建立整合框架,提供內容路由、交叉引用、值域映射。
- 適合複雜異構企業應用整合(EAI)。
選型建議
- 同構 Oracle、低延遲、需零代碼 → Advanced Replication。
- 跨 WAN、異構、業務語意複寫 → AQ。
- 企業級 EAI、多系統整合 → 9iAS Integration。
小結
複寫技術選型核心在於「傳什麼(資料 vs 事務)」與「怎麼傳(DB Link vs HTTP)」。理解業務語意邊界,選擇適合層級的複寫機制,避免過度工程。