CDC(Change Data Capture),即資料變更抓取,透過為源端資料源開啟CDC,FineDataLink 資料管道可實現資料源的實時資料同步。
FineDataLink 資料管道支援 DB2 CDC 模式,本章節主要介紹如何為 DB2 資料庫開啟CDC功能。
執行同步任務前,需要參考本文在資料源中進行一些配置,為後續的資料同步做好準備。
如果有鑑權相關的報錯,可以切換到 root 使用者下先賦權,再進入db2的角色裏操作。
切換到 db2inst1 使用者,並連結到資料庫:
su - db2inst1db2 connect to <db_name>
查看資料庫當前主日誌模式,如果傳回為 OFF 則未開啟歸檔模式:
更改資料庫日誌模式:
db2 update db cfg for <db_name> using LOGARCHMETH1 <backup_path>
注1:<db_name>為資料庫名稱,<backup_path>為設定的日誌歸檔路徑。
注2:如果想到使用者指定目錄,就需要先賦權。
斷開其他應用的資料庫連結
db2 force applications all
首次把 db2 改成歸檔日誌後,資料庫處於 BACKUP PENDING 狀態,需要進行一次全備份
db2 backup db <db_name>
連結到資料庫,檢查該資料庫是否是歸檔日誌模式:
db2 connect to <db_name>db2 get db cfg for <db_name> | grep -i LOGARCHMETH1
資料庫開啟歸檔模式,並同時開啟 Db2 CDC 後,使用者所訂閱表的增/刪/ 改操作會被 Db2 ASN Capture 擷取到並寫入到 CDC 表中,之後 CloudCanal 將會掃描相關的表進行增量同步。
透過以下腳本,可以一鍵初始化 Db2 ASN Capture 程式。
db2-cdc-script.zip
將db2-cdc-script 解壓到 db2 使用者的使用者資料夾,即解壓到資料庫使用者的 ~ 資料夾中。
先將檔案放置到 root 使用者的目錄下,例如root使用者的/ 目錄下
使用命令複製到 db2 使用者的使用者資料夾:
docker cp db2-cdc-script/ db2-11:/database/config/db2inst1/
進入到 /database/config/db2inst1/ 目錄下:
對該資料夾賦權:
chmod -R +777 /db2-cdc-script
切換到 db2 的使用者下:
su - db2inst1
進入到 db2-cdc-script 資料夾,再去執行腳本:
cd /db2-cdc-scriptbash ~/db2-cdc-script/cdc_setup.sh <db_name>
如下圖所示:
運作成功,如下圖所示:
在使用 DB2 資料庫與 FineDataLink 建立連結時,使用的資料庫使用者需要擁有對應儲存程式的執行權限及源表、CDC表、配置表的SELECT權限。
使用 DB2 資料庫與 FineDataLink 建立連結(配置IBM DB2資料源)並配置管道任务。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙