Как исправить OGG-01163 в оракуле GoldenGate

Ошибка в моем файле *.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 не реплицируются. Репликат создается с помощью обработчика Java без целевой БД, поэтому несоответствие длины не создает проблем.

Реплика остановилась на этой записи и не сдвинется с места. Следующая опция в файле RPT не помогла:

reperror 01163, ignore

так как это только для ошибок Oracle DB.

Пожалуйста помоги!


person Nick Legend    schedule 03.10.2019    source источник


Ответы (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 в исходной БД. После этого параметр SOURCEDEFS можно удалить из PRM-файла REPLICAT. Не забудьте перезапустить процесс REPLICAT.

person Nick Legend    schedule 04.10.2019