對等 Q 復制可將任一伺服器的數據變更透過 MQ 傳輸並復制到其他關聯伺服器,實現多庫同步。特點:支援 2+ 節點、任意節點變更雙向同步、無主從概念、衝突以最新時間戳為準。
| 描述 | Peer A | Peer B | Peer C |
|---|---|---|---|
| Instance ID | db2inst1 | db2inst2 | db2inst3 |
| Instance Group | db2grp1,mqm | db2grp2,mqm | db2grp3,mqm |
| Fence ID | db2fenc1 | db2fenc2 | db2fenc3 |
| MQ ID | mqm | mqm | mqm |
| REP ID | qrepladm | qrepladm | qrepladm |
三實例端口 50000/50001/50002,IP 均 127.0.0.1(模擬環境)。資料庫 TP1/TP2/TP3,皆設為歸檔日誌模式。本地編目遠程節點與資料庫。各庫建立相同模式 QREPLADM 與表 S_TAB。
MQ 隊列管理器 QM1/QM2/QM3,定義隊列(管理隊列、重啟隊列、發送/接收隊列)與通道(SDR/RCVR)。腳本 QM1.mqs 等創建對象。驗證通道:amqsput 發送測試訊息至遠程隊列,amqsget 從本地隊列接收。
Capture/Apply 目錄、密碼文件(asnpwd)建立。Capture schema 統一為 ASN。
db2rc)。QREPLADM.S_TAB。生成 N*(N-1)=6 個預訂集。查詢控制表驗證關鍵參數:
IBMQREP_CAPPARMS:QMGR、ADMINQ、RESTARTQ、STARTMODE。IBMQREP_SUBS:TARGET_ALIAS、SENDQ。IBMQREP_SENDQUEUES:PUBQMAPNAME、SENDQ、APPLY_ALIAS、RECVQ。IBMQREP_APPLYPARMS:QMGR。IBMQREP_RECVQUEUES:REPQMAPNAME、SENDQ、CAPTURE_ALIAS、RECVQ。asnqcap capture_server=tp1 STARTMODE=COLD。asnqapp apply_server=tp1。本文完整記錄三節點對等 Q 復制的環境準備、MQ 配置、復制中心操作、參數校驗與測試驗證,供讀者參考實施。亦可採用命令行方式實現相同場景。