|
Перезапуск процесса EXTRACT в GoldenGate for Java
|
|||
---|---|---|---|
#18+
Ситуация следующая - имеется процесс репликации данных из Oracle DB в Oracle RDB при помощи GoldenGate. На стороне источника установлен GoldenGate for Oracle DB, работают EXTRACT и DATAPUMP. На стороне приемника установлен GoldenGate for Java, работает EXTRACT, который вызывает java модуль, пишущий данные в Oracle RDB. Проблема заключается в том, что задержка записи в Oracle RDB доходит до 8 часов. Мы исследовали причины задержки, на данный момент решено уменьшить количество commit'ов, выполняемых на стороне приемника. Как это сделать, мы знаем, но встал вопрос - если процесс EXTRACT на приемнике по какой-либо причине упадет, то нам необходимо вернутся на последний выполненный commit. Но если мы выполняем один commit вместо 100, то возможна потеря данных, если падение EXTRACT'а произойдет, скажем, на 50-м commit'е, то нам надо откатиться на первый commit. Поскольку в checkpoint файле EXTRACT'a записан 50-й commit, то и возврат будет произведен на 50-й commit, а не на первый. Мы решили сделать проще, в случае падения возвращаемся на RBA 0 текущего trail файла. Имя текущего trail файла мы можем получить, вопрос, можно ли переключить EXTRACT без вмешательства извне. Есть параметр MANAGER'a, позволяющий перезапустить упавший EXTRACT, но я не нашел возможности переключить EXTRACT на нужный мне RBA перед перезапуском. Вопрос такой - возможно ли это, переключить процесс EXTRACT автоматически перед перезапуском? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 13:45 |
|
Перезапуск процесса EXTRACT в GoldenGate for Java
|
|||
---|---|---|---|
#18+
flexgen, Ну что ж, проблему решили так, как и предполагалось - аппликация пишет в log файл номер trail файла и RBA реально выполненного commit'a, написали скрипт, который в случае падения extract'a вытаскивает эти данные из log файла и запускает ggsci, в котором выполняется alter extract и start extract, настроили в crontab выполнение скрипта каждую минуту. Аппликация выполняет каждый 100-й commit, отставание в 8-9 часов уменьшилось до 15-20 минут максимум. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2020, 22:28 |
|
|
start [/forum/topic.php?fid=52&msg=39990032&tid=1880960]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 320ms |
total: | 477ms |
0 / 0 |