如何修复 Oracle GoldenGate 中的 OGG-01163

如何修复 Oracle GoldenGate 中的 OGG-01163

我的 *.rpt 文件中有一个错误:

2019-09-26 17:58:56  ERROR   OGG-01163  Bad column length (56) specified for column AUTHORISATION_ID in table TCPF.OPERATION, maximum allowable length is 40

当提取开始时,列长度为 40。然后扩展到 200。DDL 未被复制。Replicat 是使用没有目标 DB 的 Java 处理程序创建的,因此这种长度不匹配不会造成问题。

复制程序在此记录处停止异常终止,不会移动。RPT 文件中的以下选项没有帮助:

reperror 01163, ignore

因为这仅适用于 Oracle DB 错误。

请帮忙!

答案1

解决方案。在源数据库上生成源定义文件:

$ ./defgen paramfile dirprm/myschema.prm

myschema.prm

CHARSET UTF-8
DEFSFILE dirprm/myschema.def purge CHARSET UTF-8 FORMAT RELEASE 12.3
userid ***, password ***
NOCATALOG
table MYSCHEMA.*;

将 def 文件复制到目标服务器,并在副本 PRM 文件中添加以下行:

SOURCEDEFS dirprm/myschema.def OVERRIDE

请注意,OVERRIDE 选项是必需的。否则将使用来自跟踪文件的元数据。

启动复制程序,它现在必须正常工作。复制完所有待处理数据后,重新启动源数据库上的 EXTRACT。之后可以从 REPLICAT PRM 文件中删除 SOURCEDEFS 参数。不要忘记重新启动 REPLICAT 进程。

相关内容