最近接觸到db2數據庫實時復制的解決方案InfoSphere CDC(Change Database Capture) 。主要是通過讀取源端的日志信息對目標端進行數據的增刪改,從而盡量減少對源端資源的消耗。
我用的iidr(IBM InfoSphere Data Replication)版本是11.4,對於源和目標數據存儲器,要求DB2 LUW 數據庫必須為 V10.1 或更高版本。
詳細安裝步驟
執行安裝包 setup-iidr-11.4.0.0-5020-linux-x86.bin
選擇2
選擇1
選擇2
選擇4
輸入想要安裝的文件夾,這里我安裝在 /cdc/cdcfordb2udb 里面。
選擇1,接受協議
按 enter 鍵
確認無誤后,按 enter 鍵
默認,按 enter 鍵
配置
在配置時,需要創建一個 refresh_loader_path ,用來存放 CDC 刷新模式的臨時數據,該目錄需要能夠被數據庫用戶和 CDC 用戶讀寫和可執行。
這里我創建了 /cdc/refresh_load_path 目錄。
有兩種配置方式,一種是命令行
一種是圖形化界面
這就安裝好了。
常用命令
在實際安裝時如果因為一些原因中斷了配置,可以進入 /cdc/cdcfordb2udb/bin,
啟動配置 ./dmconfigurets
關閉服務 ./dmshutdown -I sample_db
開啟服務 nohup ./dmts64 -I sample_db &
常見問題
在安裝過程中,如遇到以下問題
IBM Infosphere Data Replication will not be able to serve as a target. LOAD API test failed and returned the following error A SQL exception has occured. The SQL error code is '3107'.
The SQL state is: The error message is : SQL3107W At least one warning message was encountered during LOAD processing.
可參照以下步驟執行:
1. 用數據庫用戶授權CDC用戶DBA權限:
db2 grant dbadm on database to user cdcadm
2.啟用歸檔日志:
db2 update db cfg SAMPLE using LOGARCHMENT1 LOGRETAIN db2 backup db SAMPLE to /home/db2inst1/db2backup
3.在配置DB2環境變量:
vi /home/cdcadm/.profile
新增以下信息:
if [ -f /home/db2inst1/sqllib/db2profile ]; then . /home/db2inst1/sqllib/db2profile # 以上如沒有效果,可以改為 # source /home/db2inst1/sqllib/db2profile fi