解决金仓KingbaseFlySync同步服务源端DB2报com.ibm.db2.jcc.am.SqlException [jcc][t4][1065][12306]的问题
关键字
KingbaseFlySync,KFS,同步服务,DB2,CDC
问题描述
KFS解析DB2增量数据,源端启动时报错:com.ibm.db2.jcc.am.SqlException [jcc][t4][1065][12306]
问题分析
DB2解析增量数据采用的是CDC方式进行捕获,配置CDC时会记录下当时对应表的表结构(此时会将表中对应的列在ASNCDC模式下记录)。
如果对应的表结构发生了变化,CDC进行增量数据捕获时,由于列不匹配,就会发生报错
解决方案
规范DDL变更流程,需要依照特定的流程进行DDL变更,防止因为表结构变化导致的KFS解析异常。具体规范如下:
1、确保需要变更的表上暂无业务数据,且相关业务数据已经完全同步到目标端(如果没有同步完成,执行后续的remove操作后,就可能会丢失相关数据)
2、停止KFS应用(replicator stop)
3、在DB2inst1用户下,连上相关数据库(使用setupCDC.conf文件中source_user配置的用户),然后执行如下命令:db2 "call ASNCDC.REMOVETABLE(‘模式名’,‘表名’);
4、在DB2数据库中变更相关DDL(变更后需要执行reor