| 術語 | 定義 |
|---|---|
| CD 表 | Change Data Table,暫存源表變更(含控制欄:IBMSNAP_UOWID, INTENTSEQ, OPERATION + 業務欄) |
| 日誌類型 | 循環日誌(預設)vs 歸檔日誌(支援前滾恢復,復制必須) |
| 復制源 | 欲復制的用戶表/視圖,定義捕獲欄位、前/後映像、衝突檢測級別 |
| 訂閱集/成員 | 源-目標映射邏輯單元,含排程、同步模式、欄位/行過濾 |
| 應用限定符 | Apply 程式與訂閱集綁定鍵,支援多實例同控制表 |
源DB 日誌 → Capture 讀日誌 → 寫 CD 表 → 更新 IBMSNAP_REGISTER/IBMSNAP_UOW
↓
Apply 檢查 REGISTER → 連接 CD + UOW 取已提交變更 → 套用目標
↓
Apply 更新 PRUNE 控制表 → 清理已套用 CD/UOW 記錄
關鍵協同:Apply 必須通知 Capture 才開始捕獲;未定義訂閱集則不通知。
| 類型 | 特徵 | 適用場景 |
|---|---|---|
| 用戶拷貝表 | 唯讀、無控制欄 | 報表、查詢卸載 |
| 時間點表 | 唯讀、帶時間戳欄 | 變更歷史追蹤 |
| 基礎聚集表 | SUM/AVG 等彙總、定期追加 | 狀態指標儀表板 |
| 更改聚集表 | 基於 CD 表統計 INS/UPD/DEL | 變更趨勢分析 |
| 副本/行副本表 | 可雙向更新、衝突檢測 | Update-anywhere 多主同步 |
| 用戶表(父表) | 副本父表、衝突時以父表為準 | 主數據源、容灾切換 |
DB2 CREATE DB DB_S
DB2 UPDATE DB CFG FOR DB_S USING LOGRETAIN ON
DB2 BACKUP DB DB_S
DB2 CONNECT TO DB_S USER u USING p
DB2 CREATE TABLE TAB_1_S (COL_1 VARCHAR(20) NOT NULL, COL_2 VARCHAR(20), PRIMARY KEY(COL_1))
# Control Center 右鍵表 → 定義為復制源 → 定制 → 存腳本 tab_1_replscr.sql
DB2 -tvf tab_1_replscr.sql # 執行生成 CD 表、註冊 REGISTER
CD C:\Program Files\SQLLIB\BND
DB2 CONNECT TO DB_S USER u USING p
DB2 BIND @CAPTURE.LST ISOLATION UR BLOCKING ALL
DB2 BIND @APPLYUR.LST ISOLATION UR BLOCKING ALL
DB2 BIND @APPLYCS.LST ISOLATION CS BLOCKING ALL
BACKUPCOPY YES 或 NONRECOVERABLEPRUNE LOGFILE PRIOR TO掌握組件協作邏輯與控制表流轉,才能在異構、多拓撲場景下駕馭 DB2 復制體系。