最近由于一个数据库正在升级“改造”,部分表结构做了一些调整,以致GoldenGate进程出现了ABENDED状态,下面分享一个因GoldenGate源端表结构发生变化后,引起GoldenGate目标端Replicat进程ABENDED的案例。
通过view report rep_name查看进程ABENDED的原因,发现如下错误:
Using the following key columns for target table ESS.TARGET_PROJECT_DEVICE: PROJECT_DEVICE_ID.
Source Context :
SourceModule : [ggstd.conv.endian]
SourceID : [$Id: //depot/releases/OpenSys/v10.4.0/src/gglib/ggstd/lecnv.c#1 $]
SourceFunction : [convCompSQL(char *, file_def *, rowlen_t)]
SourceLine : [522]
2012-08-13 16:23:30 GGS ERROR 160 Bad column index (25) specified for table CNN.SOURCE_PROJECT_DEVICE, max columns = 25.
通过验证Source和Target两端的表结构,发现在源端对应的表上增加了2个字段。因此我们尝试在GoldenGate的Target端增加上这两个字段,通过如下语句完成:
alter table SCHEMA.TABLE_NAME add (col1 datatype,col2 datatype); —为保护客户信息,该语句为参考使用。
在目标端为表添加上相应的字段后,即两端的表定义完全一致,再启动Replicat进程,基本不会有什么问题。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25834554/viewspace-740914/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25834554/viewspace-740914/