Как исправить OGG-01163 в оракуле GoldenGate - PullRequest
0 голосов
/ 03 октября 2019

В моем файле * .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.

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

1 Ответ

0 голосов
/ 04 октября 2019

Решение. Сгенерируйте файл определения источника в исходной БД:

$ ./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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...