Проект "Агбис Конвертор БД"

Программа выполняет запуск программы gbak.exe из состава Firebird для выполнения двух операций Backup и Restore.
При выполнении Backup/Restore происходит оптимизация базы данных. Например, при удалении фотографий объем данных сильно уменьшается, однако размер файла базы данных остается прежний и уменьшается только после Backup/Restore.
Кроме этого происходит дефрагментация страниц данных, обновление индексов и тому подобное. Это может существенно увеличить скорость работы базы данных.

Особенности применения

  • Оба процесса запускаются в виде конвейера программ gbak.exe, поэтому промежуточный файл .fbk не создается.
  • Для выполнения Firebird используется в режиме Embedded, что приводит к сокращению времени выполнения операции приблизительно 5 - 6 раз.
  • Если для восстановления указывается Firebird 3, то кроме оптимизации выполняется конвертация базы данных для работы Firebird 3:
    • копирование с сервера AGBIS дистрибутива Firebird 3.
    • установка Firebird 3 в виде службы.
    • выполняется конвертация базы данных для работы Firebird 3 (для Backup используется gbak.exe Firebird 2, а для восстановления gbak.exe Firebird 3).
    • выполняется проверка новой базы данных.
    • выполняется переключение на Firebird 3 (отключение Firebird 2 и смена его порта, включение службы Firebird 3 через порт, который раньше использовал Firebird 2).

При выполнении оптимизации/конвертации останавливается служба Firebird.
Поэтому нужно предупредить пользователей, чтобы они смогли завершить работу программ, которые используют доступ к базе данных.
Операция длительная, в зависимости от объема базы данных может занимать до часу времени.
В случае возникновения ошибок исходная база остается без изменений.
Полученную базу с ошибками и логи выполнения операции требуется передать в техническую поддержку АГБИС для выяснения причин.
В случае успешного завершения исходная база будет переименована и сохранена в прежнем каталоге. Со временем ее можно будет удалить для экономии места.

Термины

  • «Исходная» база данных - это база данных, данные которой проверяются и оптимизируется.

К этой базе, настроено постоянное подключение программ через сервер Firebird.
Подключение выполняется напрямую к базе, поэтому требуются логин и пароль пользователя базы данных.
Логин и пароль пользователя программы, как правило, не совпадают логином и паролем базы данных.

  • «Новая» база данных - это база данных, которая получается в результате создания резервной копии с помощью программ gbak.exe.

После проверки целостности

  1. «Исходная» база данных переименовывается и становится резервной копией
  2. «Новая» база данных переименовывается и становится «Исходной»

Подготовка к запуску

  1. Скачать программу по ссылке agbdbconvertor.zip
  2. Распаковать и разместить в папке с «Химчистка». В этой папке должен быть файл agbis.xml.

Подключение к «Исходной» базе данных должно быть локальным, так как для выполнения операций используется режим Embedded Firebird.
Программа должна иметь локальный доступ к файлу базы данных.

Оптимизация базы данных

Запускается программа agbdbconvertor.ехе от имени администратора.
Права администратора нужны для включения/выключения служб.
Если доступен файл agbis.xml, то параметры подключения будут считаны из него и дополнительных настроек не потребуется.

На всякий случай, следует проверить путь к базе данных в поле «Файл базы данных».
Далее запускается процесс оптимизации кнопкой «Оптимизация БД (B/R)».

Нажимается кнопка «Да».
Ждем завершения процесса.

Логирование процесса происходит в папку Temp в два файла:

  • restory.log
  • backup.log

В случае успешного завершения должно появится сообщение «База данных успешно пересоздана - выполнены Backup/Restore».

В папке с базой данных появится файл типа arm_20210302_162659.fdb, где суффикс показывает дату и время выполнения оптимизации.
Если потребуется откатить изменения, то достаточно переименовать этот файл в исходный.

Конвертация базы данных

Запускается программа agbdbconvertor.ехе от имени администратора.
Права администратора нужны для установки и включения/выключения служб.
Если доступен файл agbis.xml, то параметры подключения будут считаны из него.

На всякий случай, следует проверить путь к базе данных в поле «Файл базы данных».
В поле «Firebird для «Новой» базы данных» выбирается Firebird 3.0.
Кнопка «Оптимизация БД (B/R)» меняет название на «Конвертация БД».

Далее запускается процесс оптимизации кнопкой «Конвертация БД».

Нажимается кнопка «Да».
Ждем завершения процесса.
В случае успешного завершения должно появится сообщение «База данных успешно пересоздана - выполнены Backup/Restore».

В папке с базой данных появится файл типа arm_20210302_162659.fdb, где суффикс показывает дату и время выполнения оптимизации.

При установке клиента возможно не получится переписать библиотеки. В этом случае будет выдано предупреждение

Если потребуется откатить изменения, то достаточно переименовать этот файл в исходный.

Если потребуется откатить изменения, то нужно

  1. переименовать файл резервной копии в исходный,
  2. остановить Firebird 3,
  3. заменить порт Firebird 2,
  4. включить службу Firebird 2.

Восстановление Firebird можно выполнить через программу agbdbconvertor.ехе с формы "Настройка Firebird"

Формы

Дополнительная информация