linux系统安装cdcfordb2udb
最近接触到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