|
Синхронизация данных в Informix Enterprise Replication (Informix Dynamic Server 11.5)
|
|||
---|---|---|---|
#18+
Почему то у меня все проблемы связаны с синхронизацией то данных, то структуры:)Подскажите пожалуйста как решить такую задачку: " Есть две бд, между ними репликация, назовем их DB1 и DB2 репликация работает с DB2 на DB1, так вот на DB2 репликация упала и говорит что все плохо, запустите "cdr cleanstart" ну а потом синхронизируйте. И здесь возникла проблема, надо произвести синхронизацию данных (тех что описаны в репликах) с DB2 на DB1 так чтоб все что есть на DB1 осталось не тронутым, а все новое дописалось.Попробую показать пример: есть таблица "mgt_user" с полями "'ID', 'First_name', 'Last_name', 'Login'" ('Иванов', 'Иван', 'Иванович', 'Ivanov' ) на DB1 в поле 'Login' есть значение 'Ivanov' а в DB2 там null,и при вот такой команде синхронизации "cdr check replicateset --replser=replset --master=DB2 --all --extratargetrows=keep -repair" на DB1 'Login' становится null, а надо чтобы осталось 'Ivanov'." ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2013, 07:59 |
|
Синхронизация данных в Informix Enterprise Replication (Informix Dynamic Server 11.5)
|
|||
---|---|---|---|
#18+
Юрий ШакудаПочему то у меня все проблемы связаны с синхронизацией то данных, то структуры:)Подскажите пожалуйста как решить такую задачку: " Есть две бд, между ними репликация, назовем их DB1 и DB2 репликация работает с DB2 на DB1, так вот на DB2 репликация упала и говорит что все плохо, запустите "cdr cleanstart" ну а потом синхронизируйте. И здесь возникла проблема, надо произвести синхронизацию данных (тех что описаны в репликах) с DB2 на DB1 так чтоб все что есть на DB1 осталось не тронутым, а все новое дописалось.Попробую показать пример: есть таблица "mgt_user" с полями "'ID', 'First_name', 'Last_name', 'Login'" ('Иванов', 'Иван', 'Иванович', 'Ivanov' ) на DB1 в поле 'Login' есть значение 'Ivanov' а в DB2 там null,и при вот такой команде синхронизации "cdr check replicateset --replser=replset --master=DB2 --all --extratargetrows=keep -repair" на DB1 'Login' становится null, а надо чтобы осталось 'Ivanov'." Насколько Я поня, когда стало плохо на сервере DB2, Вам предложили выполнить рестарт репликации с помощью - cdr cleanstart (the cdr cleanstart command starts an Enterprise Replication server with empty queues ). Вы пытались выполнить на сервере с базой DB2 команды типа cdr repair --check ats ... или cdr repair --check rts ??? Насколько Я понял, теперь, Вы хотите синхранзировать данные с DB1 на DB2 (изменить направление репликации для синхронизации данных с первичным источником DB2) и для этого Вы пытаетесь использовать - cdr check .. -repail ... правильно ? У Вас есть два сервера с рассинронизированными данными (какие наиболее актуалные решать Вам). Думаю, что в данном случае, Вам нужно или: 1) Написать компинсируюущую транзакцию (на основе отчета cdr check) для базы DB2. 2) Выполнить инициализацию репликации с изменненным направлением репликации (с DB1 на DB2). Возможно, что есть и другие варианты решения проблемы. С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2013, 08:56 |
|
Синхронизация данных в Informix Enterprise Replication (Informix Dynamic Server 11.5)
|
|||
---|---|---|---|
#18+
Немного не так. Репликация работает с DB2 на DB1,так и надо.Только после того как я запустил на DB2 cleanstart,часть данных которая была в этой очереди ушла,и теперь мне надо эти данный среплецироать на DB1, и сделать это так чтоб на в случае какого либо совпадения ничего не перезаписалось на DB1. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2013, 15:16 |
|
|
start [/forum/topic.php?fid=44&fpage=9&tid=1607022]: |
0ms |
get settings: |
16ms |
get forum list: |
8ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
20ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
others: | 31ms |
total: | 162ms |
0 / 0 |