ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.04.2021
Просмотров: 1867
Скачиваний: 3

Практическое
занятие
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