Программа прежде всего предназначена для выполнения конвертации базы данных для работы с новой версией сервера Firebird в режиме автоконвертации без диалогового окна.
Программа выполняет запуск двух программ gbak.exe из состава Firebird для выполнения двух операций Backup и Restory.
Если вторая программа gbak.exe берется из состава Firebird старшей версии, то в результате выполняется конвертация данных к новой версии Firebird.
Если вторая программа gbak.exe берется из состава Firebird исходной версии, то в результате выполняется оптимизация данных в рамках текущей версии Firebird.
Перед выполнением конвертации создается резервная копия базы данных.
В случае возникновения ошибок в процессе конвертирования, выполняется откат - резервная копия возвращается на место исходной базы данных и система возвращается к ситуации до начала конвертирования.
Если конвертирование проходит успешно, то новая база заменяет исходную, а новый Firebird переключается на работу через порт на котором работал старый Firebird.
В результате, приложения не требуют дополнительной настройки подключений, сразу начинают работать с новой базой через новый Firebird.
Старый Firebird отключается, чтобы не перехватывал работу с базой.
Новый Firebird автоматически скачивается с серверов АГБИС и устанавливается как служба.
Программу можно загрузить по ссылке https://agbis.co/download/admin_tools/agbdbconvertor.zip
Папку agbDBConvertor с программой agbDBConvertor.exe следует разместить в папку с программами АГБИС.
Обычно это e:\Agbis\agbDBConvertor\agbDBConvertor.exe
Все параметры могут быть заданы через файл agbDBConvertor.ini.
Значение параметра в командной строке имеет приоритет перед значение в ini-файле.
Файл agbis.xml ищется в родительской папке. То есть, если запускается D:\Agbis\agbDBConvertor\agbDBConvertor.exe, то будет считываться D:\Agbis\agbis.xml
agbDBConvertor.exe
Считываются параметры из agbDBConvertor.ini и открывается форма для ввода параметров.
Можно выбрать файл базы данных, порт для подключения к базе данных и версию Firebird для новой базы данных.
Кнопка "Конвертация БД" запускает процесс.
Дополнительно, пункт главного меню "Настройка Firebird" открывает форму для просмотра и натройки параметров Firebird.
Для запуска с отслеживанием процесса
agbDBConvertor.exe /run AliasBase="Agbis" FirebirdNum=5 CLIENT_DEP_ID=2 timeout=1 ConvertFrom="Him"
Так как задан параметр ConvertFrom, то у нас запустится форма с индикатором для отслеживания процесса конвертации\оптимизации.
По завершению конвертации форма автоматически закроется, перед этим сообщив о результате операции.
Для запуска без отслеживания процесса
agbDBConvertor.exe /run AliasBase="Agbis" FirebirdNum=5 CLIENT_DEP_ID=2 timeout=1
Так как задан параметр /run, то после запуска программы сразу запускается процесс конвертации. Все параметры заданы в командной строке.
Если параметры не позволяют найти и открыть базу данных, то процесс атоматически завершается. Результат работы можно увидеть в логах в папке Logs\
Возможен вариант
agbDBConvertor.exe /run
В этом случае, так как задан параметр /run, то после запуска программы также сразу запускается процесс конвертации, но параметры берет из файла agbDBConvertor.ini.
Возможен вариант
agbDBConvertor.exe /run AliasBase="Agbis" CLIENT_DEP_ID=2 timeout=1
В этом случае, так как не задан параметр FirebirdNum, запуститься оптимизация БД(B/R).
Подключение к "Исходной" базе данных должно быть локальным, так как для выполнения операций используется режим Embedded Firebird.
Программа должна иметь локальный доступ к файлу базы данных.
При выполнении Backup/Restory происходит оптимизация базы данных.
Например, при удалении фотографий объем данных сильно уменьшается, однако размер файла базы данных остается прежний и уменьшается только после Backup/Restory.
Кроме этого происходит дефрагментация страниц данных, обновление индексов и тому подобное. Это может существенно увеличить скорость работы базы данных.
При этом выполняются следующие операции:
Таким образом новая версия Firebird замещает старую и все программы переключаются на работу с новой базой данных.
При выполнении оптимизации/конвертации останавливается служба Firebird.
Поэтому нужно предупредить пользователей, чтобы они смогли завершить работу программ, которые используют доступ к базе данных.
Операция длительная, в зависимости от объема базы данных может занимать до часу и более времени.
К этой базе, настроено постоянное подключение программ через сервер Firebird.
Подключение выполняется напрямую к базе, поэтому требуются логин и пароль пользователя базы данных.
Логин и пароль пользователя программы, как правило, не совпадают логином и паролем базы данных.
После проверки целостности "Исходная" база данных переименовывается и становится резервной копией, а "Новая" база данных переименовывается и становится "Исходной".
Кроме того новая версия Firebird переключается на работу через порт старой версии Firebird.
Запускается программа agbDBConvertor.ехе от имени администратора.
Права администратора нужны для включения/выключения служб.
Если доступен файл agbis.xml, то параметры подключения будут считаны из него и дополнительных настроек не потребуется.
На всякий случай, следует проверить путь к базе данных в поле "Файл базы данных".
Далее запускается процесс оптимизации кнопкой "Оптимизация БД (B/R)".
Нажимается кнопка "Да".
Ждем завершения процесса.
Все этапы конвертации будут отражаться в текстовом поле. В случае успешного завершения должно появится сообщение "База данных успешно пересоздана - выполнены Backup/Restory".
В папке с базой данных появится файл типа arm_20210302_162659.fdb, где суффикс показывает дату и время выполнения оптимизации.
Если потребуется откатить изменения, то достаточно переименовать этот файл в исходный.
Запускается программа agbdbconvertor.ехе от имени администратора.
Права администратора нужны для установки и включения/выключения служб.
Если доступен файл agbis.xml, то параметры подключения будут считаны из него.
На всякий случай, следует проверить путь к базе данных в поле "Файл базы данных".
В поле "Firebird для "Новой" базы данных" выбирается Firebird 5.0.
Кнопка "Оптимизация БД (B/R)" меняет название на "Конвертация БД".
Далее запускается процесс кнопкой "Конвертация БД".
Нажимается кнопка "Да".
Ждем завершения процесса.
Все этапы конвертации будут отражаться в текстовом поле. В случае успешного завершения должно появится сообщение "База данных успешно пересоздана - выполнены Backup/Restory".
В папке с базой данных появится файл типа arm_20210302_162659.fdb, где суффикс показывает дату и время выполнения оптимизации.
Если потребуется откатить изменения, то достаточно переименовать этот файл в исходный.
Если потребуется откатить изменения, то нужно
Восстановление Firebird можно выполнить через программу agbdbconvertor.ехе с формы "Настройка Firebird"