現今 IDC 大行其道,同城/異地雙活甚至多活概念日益普及。本文介紹 IBM Q-Replication 架構與實作,最後專章分析 Q Latency,關係 RPO/RTO 指標至關重要,系統運維人員必須掌握。

技術選型權衡:


物件定義對照表:主機名、IP、DB2 版本、子系統、位置、資料庫埠、MQ 管理器、MQ 埠、重啟佇列、管理佇列、發送佇列、複寫結構描述等。
ALTER TABLE QTABLE DATA CAPTURE CHANGES;NODE1/2 CDB 配置 SQL 範例請參考原文。
DEFINE QLOCAL(MQ1.ADMINQ) DESC('ADMINQ OF MQ2 IN SITEA') PUT(ENABLED) GET(ENABLED) SHARE DEFSOPT(SHARED) MAXDEPTH(1000) DEFPSIST(YES)
DEFINE QLOCAL(MQ1.RESTARQ) DESC('RESTARTQ OF MQ2 IN SITEA') PUT(ENABLE) GET(ENABLE) SHARE DEFSOPT(SHARED) MAXDEPTH(1) INDEXTYPE(MSGID) DEFPSIS(YES)
DEFINE QLOCAL(MQ1.SENDFQ.Q1) REPLACE DESC('LOCAL SEND Q FOR FX Q') PUT(ENABLED) GET(ENABLED) SHARE DEFSOPT(SHARED) DEFPSIS(YES) MAXDEPTH(99999) INDEXTYPE(MSGID)
DEFINE QMODEL('IBMQREP.SPILL,QMODELQ') REPLACE DEFSOPT(SHARED) MAXDEPTH(99999999) MSGDLVSQ(FIFO) DEFTYPE(PERMDYN)
DEFINE CHANNEL('MQ1.TO.MQ2') REPLACE CHLTYPE(SDR) TRPTYPE(TCP) DISCINT(0) DESC('SENDER CHANNEL TO MQ2') XMITQ(XMQ1) CONNAME('10.2.1.1(9001)')
DEFPSIST YES 表示除非另有指示,佇列管理器記錄交易至佇列,故障或重啟可恢復訊息。
同一節點所有控制表需相同結構描述。使用 ASNCLP 腳本配置 (支援互動/批次)。範例:建立控制表、Q Map、Q Subscription。
START CHANNEL(MQ1A.TO.MQ1B)
DISPLAY CHSTATUS(MQ1BA.TO.MQ1B)
START CHANNEL(MQ1B.TO.MQ1A)
DISPLAY CHSTATUS(MQ1B.TO.MQ1A)
CLEAR QLOCAL(MQ2.SENDQ.Q1)
DISPLAY QLOCAL(MQ2.SENDQ.Q1) CURDEPTH
控制表:IBMQREP_CAPMON、IBMQREP_CAPQMON、IBMQREP_APPLYMON。端到端延遲 = T5 - T1 (目標端與源端 commit 時間差)。影響因素 10 項分佈圖請參考原文。
關鍵指標:LOGREAD_API_TIME、NUM_END_OF_LOGS、LOGRDR_SLEEPTIME、MQPUT_TIME、MQCMIT_TIME、XMITQDEPTH、TRAN_BATCH_SIZE 計算方式。
關鍵指標:WORKQ_WAIT_TIME、RETRY_TIME (RI/UI/Timeout/Deadlock)、DBMS_TIME。
STARTLRSN:安全開始讀取 DB2 日誌的 LSN 值。
commit lsn:安全跳過已發布交易的 LSN 值。

本文內容整理自網路,僅供參考學習,如涉版權請自行刪除。