powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Golden gate, репликация по маске
7 сообщений из 7, страница 1 из 1
Golden gate, репликация по маске
    #39776470
galagea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток!
Есть вопрос по Golden Gate , есть работающий репликат
В репликате прописаны таблички по маске, к примеру , (репликация идет в одноименную схему и одноименные таблицы, что на источнике, что на преемнике)
MAP SCHEMA.*,target SCHEMA.* colmap (USEDEFAULTS) ,TREADRANGE (1-10);

Появилась необходимость на источнике -часть табличек, штук 400 переименовать, сделав их с одинаковым префиксом, например REF_[название таблички], но на приемнике оставить прежнее название. Дописала дополнительно в репликате каждую табличку , например,
MAP SCHEMA.REF_TABLE1,target SCHEMA.TABLE1 colmap (USEDEFAULTS) ,TREADRANGE (1-10);
MAP SCHEMA.REF_TABLE2,target SCHEMA.TABLE2 colmap (USEDEFAULTS) ,TREADRANGE (1-10);
И тд
Но первое условие по маске перекрывает второе, те репликат падает , потому что именно ищет табличку с префиксом REF_ на преемнике и не находит, когда по табличке проходят dml операция , соответсвенно сваливается. Подскажите, пожалуйста, как корректно прописать условие для репликата, чтобы оставить одноименную маску ( потому как настроена ddl репликация, создается табличка на приемнике, если в экстракте она не попадает в исключение, то зеркально табличка создается на источнике)- поэтому маска очень удобна, но и при этом необходимо, чтобы работала репликация таблиц с источника с префиксом REF_, как прописано выше. Спасибо.
...
Рейтинг: 0 / 0
Golden gate, репликация по маске
    #39776483
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
galageaДоброе время суток!
Есть вопрос по Golden Gate , есть работающий репликат
В репликате прописаны таблички по маске, к примеру , (репликация идет в одноименную схему и одноименные таблицы, что на источнике, что на преемнике)
MAP SCHEMA.*,target SCHEMA.* colmap (USEDEFAULTS) ,TREADRANGE (1-10);

Появилась необходимость на источнике -часть табличек, штук 400 переименовать, сделав их с одинаковым префиксом, например REF_[название таблички], но на приемнике оставить прежнее название. Дописала дополнительно в репликате каждую табличку , например,
MAP SCHEMA.REF_TABLE1,target SCHEMA.TABLE1 colmap (USEDEFAULTS) ,TREADRANGE (1-10);
MAP SCHEMA.REF_TABLE2,target SCHEMA.TABLE2 colmap (USEDEFAULTS) ,TREADRANGE (1-10);
И тд
Но первое условие по маске перекрывает второе, те репликат падает , потому что именно ищет табличку с префиксом REF_ на преемнике и не находит, когда по табличке проходят dml операция , соответсвенно сваливается. Подскажите, пожалуйста, как корректно прописать условие для репликата, чтобы оставить одноименную маску ( потому как настроена ddl репликация, создается табличка на приемнике, если в экстракте она не попадает в исключение, то зеркально табличка создается на источнике)- поэтому маска очень удобна, но и при этом необходимо, чтобы работала репликация таблиц с источника с префиксом REF_, как прописано выше. Спасибо.

Раз у части таблиц на источнике изменились имена то для всех таблиц без исключения надо добавлять строку маппинга, а общий маппинг для всей схемы убрать. Думаю что DDL'и для таблиц REF будут падать, т.к. на приемнике таких таблиц нет.
...
Рейтинг: 0 / 0
Golden gate, репликация по маске
    #39776496
galagea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конечно, это тривиальное решение-прописать все таблицы, но, к сожалению, по разным причинам не очень удобно, поэтом я и спросила, возможно ли условие , в документации https://docs.oracle.com/goldengate/1212/gg-winux/GWURF/gg_parameters160.htm#GWURF546
нашла пример, но не совсем понятно как MAPEXCEPTION отрабатывает
MAP src.trx*, TARGET trg.*,
MAPEXCEPTION (TARGET fin.trxexceptions,
INSERTALLRECORDS,
COLMAP (USEDEFAULTS,
ACCT_NO = ACCT_NO,
OPTYPE = @GETENV ('LASTERR', 'OPTYPE'),
DBERR = @GETENV ('LASTERR', 'DBERRNUM'),
DBERRMSG = @GETENV ('LASTERR', 'DBERRMSG')
)
);
...
Рейтинг: 0 / 0
Golden gate, репликация по маске
    #39776502
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Golden gate, репликация по маске
    #39776542
galagea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорее всего exclude тоже не подойдет, вообще исключится репликация по табличке, все-таки остается перечисление полного списка...Спасибо
...
Рейтинг: 0 / 0
Golden gate, репликация по маске
    #39776889
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
galageaСкорее всего exclude тоже не подойдет
Ну блин...
Код: plsql
1.
2.
3.
4.
5.
MAP SCHEMA.*,target SCHEMA.* colmap (USEDEFAULTS) ,TREADRANGE (1-10);
EXCLUDEWILDCARDOBJECTSONLY
MAPEXCLUDE SCHEMA.REF_*
MAP SCHEMA.REF_TABLE1,target SCHEMA.TABLE1 colmap (USEDEFAULTS) ,TREADRANGE (1-10);
MAP SCHEMA.REF_TABLE2,target SCHEMA.TABLE2 colmap (USEDEFAULTS) ,TREADRANGE (1-10);
...
Рейтинг: 0 / 0
Golden gate, репликация по маске
    #39787341
galagea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,
Спасибо, попробуем
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Golden gate, репликация по маске
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]