变更源端表结构后,目标端ogg告警。
2019-04-15 12:48:47 ERROR OGG-01163 Bad column length (21) specified for column CHANNEL_CODE in table MCS.T_MCS_REPAY_ORD_INF, maximum allowable length is 15.
将复制进程中参数注掉后:
--ASSUMETARGETDEFS
将两边进程都重启,还是报同样的错。又不能轻易跳过交易记录。重新生成定义文件。
GGSCI (essln1) 7> edit params defgen
defsfile /orabak01/ogg/dirprm/cb02.p
userid ogg,password ogg
table UCR_BUSI_91.TF_R_MPHONECODE_IDLE;
table UCR_BUSI_91.TF_R_MPHONECODE_USE;
GGSCI (essln1) 8> defgen paramfile /orabak01/ogg/dirprm/defgen.prm
重新启动目标端复制进程,还是报错,起不来。
REPLICAT rep_sc
userid ogg,password OGG_PROD
discardfile ./dirdat/repsc_discard.txt,append, megabytes 10
SOURCEDEFS ./dirdef/cb02.p
--ASSUMETARGETDEFS
--traceId=defgen_sc
MAP MCS.T_XXX_REPAY_ORD_INF, TARGET FINx.T_BFW_REPAY_ORD_INF ,filter (@GETENV ('transaction', 'csn') >1060516);
其实在表定义文件中,需要添加一个关键字OVERRIDE
SOURCEDEFS ./dirdef/sc.def OVERRIDE
添加后,进程启动正常。