Линтер методичка
.pdfПрактическое занятие 14 Настройка сервера репликации в среде UNIX
Практика 2 часа (Лекция 12)
Целью занятия является освоение настройки сервера репликации, создание правил репликации. Используются два компьютера, на каждом из которых будет установлена база данных (на одном – источник, на другом - приемник) и запущен сервер репликации.
14.1. Создание основной базы данных
Структура базы должна быть идентична для источника и приемника. На этой базе должен быть выполнен набор запросов из файла dict/distr.sql . После этого ядро для этой базы данных должно быть остановлено и запущено заново.
14.2. Создание вспомогательной базы данных
Необходимо создать вспомогательную базу хранения репликационных данных. Для этого необходимо выполнить скрипт db/make_storage. Этот скрипт создает базу данных в текущем каталоге, поэтому перед запуском необходимо сменить текущий каталог на каталог вспомогательной базы данных. Можно также создать базу и вручную. Для этого
1.Создать базу утилитой gendb.
2.Задать идентификатор механизма обмена, отличный от значения по умолчанию. Идентификатор механизма обмена задается путем установки переменной окружения LINTER_MBX в какое либо натуральное (в математ. смысле) значение.
Значение по-умолчанию равно 20561. Если установлено значение LINTER_MBX, то ядро и приложение для обмена данными будут использовать именно этот идентификатор. Таким образом возможен запуск нескольких ядер и приложений, работающих с несколькими ядрами.
3.Запустить ядро для вспомогательной базы данных, выполнить запросы из файла dict/arepl.sql, перестартовать ядро. LINTER_MBX должен быть задан во время выполнения этих действий и быть одинаковым.
4.Удалить переменную окружения LINTER_MBX.
Вспомогательная база данных должна быть создана на источнике и приемнике.
14.3. Настройка nodetab
Теперь необходимо настроить файл конфигурации сетевого агента и сервера репликации nodetab. Он должен располагаться в каталоге bin дерева дистрибутива.
1.Добавить строку RDSTG local 12345 где RDSTG - условное имя вспомогательной БД на данной машине, local - ключевое слово, 12345 идентификатор механизма обмена(п. 16.2).
2.Добавить строку REMOTEDB ATCPIP my_name.my_domain 1080 где REMOTEDB -
условное имя удаленной основной базы данных. ATCPIP - ключевое слово для задания TCPIP протокола обмена, my_name.my_domain - адрес удаленного сервера, 1080 - порт удаленного сервера. Если база данных будет только приемником данных, данный подпункт необязателен.
14.4.Создание нового сервера
Чтобы объявить новый сервер нужно запустить утилиту INL на источнике данных и набрать в командной строке:
sql> create server REMOTEDB;
!92
Практическое занятие 14 Настройка сервера репликации в среде UNIX
14.5. Запуск сетевого агента
Запустить сетевой агент dbc_tcp, возможно указав ему в командной строке точное расположение nodetab. Это необходимо проделать на источнике и приемнике.
14.6. Запуск сервера репликации
Запустить сервер репликации lreplserver. В аргументах командной строки необходимо передать имя администратора-пароль основной и вспомогательной базы данных, условное имя вспомогательной БД ( RDSTG) из файла nodetab, путь к файлу nodetab, номер порта на котором сервер будет принимать удаленные соединения (номера портов для установления соединения задаются в nodetab), -daemon - для работы в фоновом режиме, уровень трассировки. Это необходимо проделать на источнике и приемнике.
14.7. Создание правила репликации
Допустим, у нас есть таблица TAB в базах данных источника и приемника. Структура таблиц должна быть одинаковой, должен присутствовать primary key . Допустим, таблица такая:
Create table tab ( i int primary key, c char(100));
Для основной базы-источника с помощью утилиты inl создаем правило репликации таблицы TAB:
create replication rule MYRULE for tab to tab on node
REMOTEDB async;
Это делается только на источнике.
14.8. Проверка работы репликации
Проверить работу системы репликации можно, изменив данные реплицируемой таблицы TAB базы-источниа, и проверив их изменение в базе приемнике. Для этого в командной строке утилиты inl наберем:
Insert into tab values (1,’текстовая строка’);
Через некоторое время (предположительно, меньше секунды) аналогичная запись должна появиться в таблице TAB в БД-приемнике.
14.9. Останов сервера репликации
Останов производиться в обратном порядке.
1.Остановить lreplserver (опция –down).
2.Остановить dbc_tcp (командой kill, pid процесса можно определить командой ps, или при старте указать на необходимость создания файла со значением pid).
3. |
Остановить работу вспомогательной БД утилитой |
shut. Для останова |
|
вспомогательной БД необходимо указать тот же идентификатор обмена |
|
|
(LINTER_MBX), что и при старте. После останова БД переменную окружения |
|
|
LINTER_MBX необходимо удалить. |
|
4. |
Остановить работу ядра с основной базой данных. |
|
E-mail: market@relex.ru
ЗАО НПП «РЕЛЭКС» http://www.relex.ru
Практическое занятие 13 Использование прекомпилятора встроенного SQL
!93
Это необходимо проделать на источнике и приемнике.
E-mail: market@relex.ru
ЗАО НПП «РЕЛЭКС» http://www.relex.ru
!94
Практическое занятие 14 Настройка сервера репликации в среде UNIX
Для заметок
E-mail: market@relex.ru
ЗАО НПП «РЕЛЭКС» http://www.relex.ru
Практическое занятие 13 Использование прекомпилятора встроенного SQL
!95
E-mail: market@relex.ru
ЗАО НПП «РЕЛЭКС» http://www.relex.ru
!96
Практическое занятие 14 Настройка сервера репликации в среде UNIX
E-mail: market@relex.ru
ЗАО НПП «РЕЛЭКС» http://www.relex.ru
Практическое занятие 13 Использование прекомпилятора встроенного SQL
!97
E-mail: market@relex.ru
ЗАО НПП «РЕЛЭКС» http://www.relex.ru
!98
Практическое занятие 14 Настройка сервера репликации в среде UNIX
E-mail: market@relex.ru
ЗАО НПП «РЕЛЭКС» http://www.relex.ru
Практическое занятие 13 Использование прекомпилятора встроенного SQL
!99
E-mail: market@relex.ru
ЗАО НПП «РЕЛЭКС» http://www.relex.ru
!100
Практическое занятие 14 Настройка сервера репликации в среде UNIX
E-mail: market@relex.ru
ЗАО НПП «РЕЛЭКС» http://www.relex.ru