Встречная репликация между серверами S1 и S2
Начальные данные
Имеется два сервера с IP-адресами S1.serv.com
и S2.serv.com
. На каждом из них установлен ЛИНТЕР с поддержкой репликации. На каждом имеется таблица TAB
с одинаковой структурой данных. Имена баз данных соответственно S1DB
и S2DB
.
Задача
Требуется настроить репликацию таблицы TAB
с сервера S1
на сервер S2
и, одновременно, с сервера S2
на сервер S1
.
Последовательность операций
Только для UNIX | На сервере S1:
На сервере S2:
|
Для всех ОС | На сервере S1:
На сервере S2:
|
Только для Windows | На сервере S1:
На сервере S2:
|
Только для UNIX | На сервере S1:
На сервере S2:
|
Для всех ОС | На сервере S1:
На сервере S2:
На сервере S1:
На сервере S2:
На сервере S1:
|
Инструкция по настройке с помощью консоли приведена в приложении 7.
Необходимо тщательно продумывать репликацию для таблиц, у которых есть триггеры, чтобы избежать конфликтов. Например, пусть есть две таблицы A и B – одинаковой структуры на источнике и на приемнике и с одинаковыми триггерами.
На источнике клиент вызывает добавление записи в таблицу A. Операция добавления проходит успешно и вызывает триггер, который выполняет добавление записи в таблицу B.
На приемнике процесс репликации вызывает добавление записей в таблицы A и B, и, кроме того, срабатывает триггер на таблицу А, который добавляет в таблицу B еще одну запись. Нужно учитывать возможность такого повторного добавления и избегать его нежелательных последствий.