简述 {#简述}
本文介绍如何开启 Db2 的 CDC 捕获程序,捕获数据库表的实时变更记录。
数据库开启归档日志 {#数据库开启归档日志}
-
切换到 db2inst1 用户,并连接到数据库
su - db2inst1 db2 connect to <db_name>
-
查看数据库当前主日志模式
db2 get db cfg for <db_name> | grep LOGARCHMETH1
- 如果返回为 OFF 则未开启归档模式
-
更改数据库日志模式
db2 update db cfg for <db_name> using LOGARCHMETH1 <backup_path>
-
断开其他应用的数据库连接
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 ASN Capture 程序 {#初始化-db2-asn-capture-程序}
-
数据库开启归档模式,并同时开启 Db2 CDC 后,用户所订阅表的 增 / 删 / 改 操作会被 Db2 ASN Capture 捕获到并写入到 CDC 表中。
-
通过以下脚本,可以一键初始化 ASN Capture 程序。
# 安装 CDC 初始化工具 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/hellojuantu/db2-cdc-tools/master/script/install.sh)" # 运行脚本,<db_name> 需要替换为数据库名 bash ./cdc_tools/cdc_setup.sh <db_name>
总结 {#总结}
本文通过傻瓜式的教程,实现了快速开启 Db2 CDC 捕获程序。
其他 Db2 CDC 问题欢迎在评论区讨论交流。