|
|
|
SymmetricsDS для oracle<->postgres репликации.
|
|||
|---|---|---|---|
|
#18+
Hужна двухсторонняя репликация oracle <-> postgres. Более того, в базе oracle есть триггеры, подменяющие данные, по сиквенсам и пр. Переписать функционал без этих триггеров "на лету" меняющих данные, нет возможности. В базе postgres таких триггеров нет. Т.о. при каждой операции insert, update в БД postgres нужно реплицировать её в oracle, посмотреть как её изменят триггера "на лету" и отразить обратно в postgres. Двусторонняя репликация работает (без учёта FK). Делаю AFTER триггер, который вставляет строку в symmetrics табличку SYM_DATA. Чтобы при обновлении строки в postgres, она улетела в ora, изменилась триггерами "на лету", затем появилось бы задание отобразить изменённую строку обратно, в postgres. Этот AFTER триггер делаю выполняющимся последним (инструкцией FOLLOWS). Что происходит: 1. Репликация pg->ora выполняется. 2. Отрабатывает AFTER триггер, вставляя строку в SYM_DATA. 3. Symmetrics не выполняет появившееся задание по переносу обратно ora->pg. Видимо боится петель и зацикливаний. Что можно сделать? Хотя бы как заставить Symmetrics зациклиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 11:13 |
|
||
|
|

start [/forum/topic.php?fid=52&tid=1884128]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 320ms |

| 0 / 0 |
