背景與動機
DB2 聯合資料庫 (Federated Database) 允許單一 SQL 跨多種資料源查詢。企業需整合分散異構資料(分散、整合、交換、靈活應用),DB2 資料複寫 (SQL Replication) 配合 WebSphere II 實現 DB2 與 Oracle 等非 DB2 資料庫間的雙向同步。
核心架構:SQL 複寫元件

- Capture 程式:讀取 DB2 恢復日誌,擷取源表變更,寫入變更資料表 (CD Table)
- Apply 程式:並行讀取 CD 表,將變更應用至目標端
- 管理中心:圖形化定義複寫源、目標、映射、排程、監控
- 警報監視器:監控 Capture/Apply 錯誤狀態
聯合資料庫系統設置流程

- 建立 DB2 實例作為聯合伺服器
- 建立聯合資料庫
- 配置 Wrapper(包裝器):
- 關係型 Wrapper:DB2、Informix、Oracle、SQL Server、Sybase、ODBC、OLE DB
- 非關係型 Wrapper:Flat file、Excel、XML
- 定義 Server 定義(遠端資料庫連線資訊)
- 建立 Nickname(別名)映射遠端表至本地虛擬表
- 授權用戶/應用存取 Nickname
Wrapper 與 Nickname 機制
- Wrapper 封裝遠端資料庫通訊協議與 API(Oracle 用 OCI、SQL Server 用 ODBC 等)
- Nickname 在本地系統目錄註冊,對應用程式呈現為本地表
- 查詢 Nickname 時,聯合伺服器將 SQL 轉譯推送至遠端執行
- 遠端資料庫視聯合伺服器為普通客戶端
複寫中心應用介面

圖形化管理:定義複寫源、訂閱集、欄位映射、過濾條件、排程、監控 Capture/Apply 狀態。
Capture 程式運作細節
- 支援源:DB2 z/OS v6-8、DB2 iSeries V5R2、DB2 LUW v8
- 自動建立觸發器擷取變更(插入/更新/刪除)
- 支援欄位級過濾,僅捕獲必要欄位
- CD 表自動建立於源資料庫,應用後自動清理
Apply 程式運作細節
- 可部署於任意伺服器,需連通源與目標
- 支援列/行過濾、視圖合併、SQL 運算式轉換
- 異構複寫時,必須透過聯合資料庫建立目標端 Nickname
DB2 ↔ Oracle 複寫拓撲圖

- 本地安裝關係型 Wrapper(含 Oracle 客戶端)
- 聯合伺服器管理 Oracle Nickname
- Capture 於 DB2 端,Apply 可於任意端
- 警報監視器監控雙端錯誤
關鍵實施步驟總結
- 安裝 DB2 ESE + WebSphere II(含關係型 Wrapper)
- 配置 Oracle 客戶端,驗證網路連通
- 建立聯合伺服器實例與資料庫
- 註冊 Oracle Wrapper、建立 Server 定義
- 為需複寫的 Oracle 表建立 Nickname
- 在複寫中心定義來源(DB2 表)與目標(Oracle Nickname)
- 設定欄位映射、過濾條件、衝突解決規則
- 啟動 Capture 與 Apply,監控同步延遲與錯誤
商業價值
透過異構複寫,企業可:
- 將核心交易資料 (DB2) 即時同步至分析平台
- 整合多部門異構系統資料至統一資料倉儲
- 實現跨平台災備與負載分流
- 支援合併收購後的系統整合
DB2 聯合技術與 SQL 複寫為異構資料整合提供了成熟、企業級的解決方案。