мета-данные страницы
Мастер репликации
Проект DBMeta
Система Репликация
ЦДБ - центральная база данных
Форма «Мастер репликации» открывается в «DBMeta» кнопкой «Мастер репликации»
предназначена для переключения текущей базы данных в режим центральной базы данных.
Настройки всегда включены и недоступны для редактирования
- Изменение номера центрального подразделения с 0 на 1.
- Если DEPS содержит только одну запись и DEPS.DEP_ID = 0, то
- делаем ее центральной DEPS.DEP_ID = 1
- в глобальной настройке Текущее подразделение (GL_DEFDEP_ID) переключаемся на эту запись (GL_DEFDEP_ID=1)
- в базу добаляется роль «REPL_ROLE»
- Переключение глобальной настройки Текущее подразделение.
- Если DEPS не имеет записей, то создается запись и настройка переключается на нее
- Если DEPS имеет одну запись Центр, то настройка переключается на нее
- Если DEPS имеет записей Центр больше одной, то выдается сообщение об ошибке и процесс прерывается
- Если DEPS имеет записей больше одной и ни одна из них не отмечена как «Центр», то выдается сообщение об ошибке и процесс прерывается
- Создание репликационной структуры.
- Выполняется корректировка триггеров Реализация системы репликации для
- добавления записи
- редактирования записи
- удаления записи
- Подготовка центрального подразделения.
- Если текущее подразделение типа Центр, то выполняются следующие операции:
- Удаление изменений из лога (MST_META_CHANGES)
- Добавление всех пользователей в текущее подразделение
- Глобальная настройка «ОСНОВНЫЕ: Цены одинаковые во всех подразделениях» (GL_TOVARS_GLOBALPRICE) устанавливается в 0
- Глобальная настройка «» (GL_REPL_ACTIVE) устанавливается в 0
- Обновляется список ограничений целостности (Foreign keys)
- Обновляется список первичных ключей (Primary keys)
- Устанавливается «префикс ключа» в 100 независимо от DEPS.DEP_ID
- Для роли 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.