Мастер репликации
Проект DBMeta
Система Репликация
ЦДБ - центральная база данных
Форма «Мастер репликации» открывается в «DBMeta» кнопкой «Мастер репликации»
предназначена для переключения текущей базы данных в режим центральной базы данных.
Настройки всегда включены и недоступны для редактирования
Изменение номера центрального подразделения с 0 на 1.
Переключение глобальной настройки Текущее подразделение.
Если DEPS не имеет записей, то создается запись и настройка переключается на нее
Если DEPS имеет одну запись Центр, то настройка переключается на нее
Если DEPS имеет записей Центр больше одной, то выдается сообщение об ошибке и процесс прерывается
Если DEPS имеет записей больше одной и ни одна из них не отмечена как «Центр», то выдается сообщение об ошибке и процесс прерывается
Создание репликационной структуры.
-
добавления записи
редактирования записи
удаления записи
Подготовка центрального подразделения.
Для роли REPL_ROLE поставить GRANT ALL.
Подготовительные операции
-
Создание копии базы данных
Проверка по дате актуальности DBMeta (При необходимости скачать новую версию из папки Z:\Agbis\_NonVersion\DBMeta.exe).
Кнопки
Запуск - запускает процесс создания и настройки ЦДБ,
Открыть текущий лог… - открывает в блокноте текущий лог программы,
Close - закрывает форму,
Помощь - открывает текст с описанием формы.
Создание и настройка ЦДБ
Кнопка Запуск выдает запрос на подтверждение начала процесса настройки ЦБД
После подтверждения процесс не может быть остановлен.
Блокируются возможность изменения настроек и кнопка Запуск.
Индикатор отображает степень выполнения процесса.
1. Включение ЦБД
Считывается список подразделений из таблицы deps
Если записей нет, то добавляется новое подразделение, которое назначается центральным.
Если запись единственная, то подразделение назначается центральным.
Если записей больше одной и центральное подразделение единственное, то это подразделение остается центральным.
Если записей больше одной и центральное подразделение не единственное или нет ни одного центрального подразделение, то процесс прерывается.
Если подразделение единственное, то
подразделение назначается центральным,
DEP_ID назначается равным 1.
добавляется роль REPL_ROLE типа SYSDBA
в глобальной настройке Текущее подразделение (GL_DEFDEP_ID) переключаемся на эту запись (GL_DEFDEP_ID=1).
Если подразделение не единственное, то считается что эти настройки уже были сделаны раньше.
2. Создание репликационной структуры
Выполняется корректировка триггеров для
добавления записи
редактирования записи
удаления записи
3. Подготовка центрального подразделения
Удаление изменений из лога (MST_META_CHANGES)
Добавление всех пользователей в текущее подразделение
Глобальная настройка «ОСНОВНЫЕ: Цены одинаковые во всех подразделениях» (GL_TOVARS_GLOBALPRICE) устанавливается в 0
Глобальная настройка «» (GL_REPL_ACTIVE) устанавливается в 0
Обновляется список ограничений целостности (Foreign keys)
Обновляется список первичных ключей (Primary keys)
Устанавливается «префикс ключа» (GEN_CUR_DEP_ID) в 100 независимо от DEPS.DEP_ID
Устанавливается GEN_IS_CENTR в 1
4. Настройка REPL_ROLE
Для роли REPL_ROLE поставить GRANT ALL
По завершении операции просмотреть логи для проверки успешности проведенных работ (кнопка Открыть текущий лог…)
Файл лога лежит в той же папке, где находится DBMeta.
Дополнительная информация