мета-данные страницы
Агбис Конвертор БД
Программа прежде всего предназначена для выполнения конвертации базы данных для работы с новой версией сервера Firebird в режиме автоконвертации без диалогового окна.
Программа выполняет запуск двух программ gbak.exe из состава Firebird для выполнения двух операций Backup и Restory.
Если вторая программа gbak.exe берется из состава Firebird старшей версии, то в результате выполняется конвертация данных к новой версии Firebird.
Если вторая программа gbak.exe берется из состава Firebird исходной версии, то в результате выполняется оптимизация данных в рамках текущей версии Firebird.
Перед выполнением конвертации создается резервная копия базы данных.
В случае возникновения ошибок в процессе конвертирования, выполняется откат - резервная копия возвращается на место исходной базы данных и система возвращается к ситуации до начала конвертирования.
Если конвертирование проходит успешно, то новая база заменяет исходную, а новый Firebird переключается на работу через порт на котором работал старый Firebird.
В результате, приложения не требуют дополнительной настройки подключений, сразу начинают работать с новой базой через новый Firebird.
Старый Firebird отключается, чтобы не перехватывал работу с базой.
Новый Firebird автоматически скачивается с серверов АГБИС и устанавливается как служба.
Подготовка к применению
2. На время выполнения конвертора отключаются все программы от базы данных, останавливаются службы (агенты), поэтому операцию следует согласовывать с клиентом.
3. Останавливается, а затем заменяется, сервер Firebird, что может повлечь остановку других программ, которые работают с другими базами данных. В этом случае потребуется дополнительная настройка серверов Firebird и подключений приложений: изменение портов и порядка запуска служб Firebird.
4. В процессе конвертации создается две копии базы данных, поэтому следует проверить, что на диске свободного места в 2.5 раза больше чем размер самой базы данных.
Установка программы
Программу можно загрузить по ссылке https://agbis.co/download/admin_tools/agbdbconvertor.zip
Папку agbDBConvertor с программой agbDBConvertor.exe следует разместить в папку с программами АГБИС.
Обычно это e:\Agbis\agbDBConvertor\agbDBConvertor.exe
Параметры командной строки
- /run – выполняется без видимого окна, все настройки должны быть переданы через параметры командной строки или ini файла.
- AliasBase – алиас «Исходной» БД в списке из agbis.xml. По умолчанию, если AliasBase не задан, берется последняя активная база из списка в agbis.xml
- FirebirdNum – номер версии Firebird для новой базы данных при конвертировании. По умолчанию совпадает с версией «Исходной» БД, то есть выполняется оптимизация.
- CLIENT_DEP_ID – номер подразделения в БД PC (client_dep_params.id). Используется для отправки отчета в PC. По умолчанию отчет не отправляется.
- TimeOut – задержка в секундах перед выполнением основной части программы. Используется для задержки перед началом выпонения обработки БД, чтобы дать возможность завершить работу ReplIn. По умолчанию 0.
- ConvertFrom – название модуля, откуда вызвали конвертацию\оптимизацию. Используется если требуется отображение прогресса операции. По умолчанию пустая строка
Все параметры могут быть заданы через файл 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.
Кроме этого происходит дефрагментация страниц данных, обновление индексов и тому подобное. Это может существенно увеличить скорость работы базы данных.
- Оба процесса запускаются в виде конвейера программ gbak.exe, поэтому промежуточный файл .fbk не создается.
- Для выполнения Firebird используется в режиме Embedded, что приводит к сокращению времени выполнения операции приблизительно 5 - 6 раз.
- Если для восстановления указывается Firebird X старшей версии, то кроме оптимизации выполняется конвертация базы данных для работы Firebird X указанной версии.
При этом выполняются следующие операции:
- копирование с сервера AGBIS дистрибутива Firebird X.
- установка сервера Firebird X в виде службы.
- установка клиента Firebird X в папку agbis\.
- замещение клиента Firebird X в системной папке.
- выполняется конвертация базы данных для работы Firebird X (для Backup используется gbak.exe текущего Firebird , а для восстановления gbak.exe Firebird X).
- выполняется проверка новой базы данных.
- опционально, выполняется переключение на Firebird X (отключение старого Firebird и смена его порта, включение службы Firebird X через порт, который раньше использовал старый Firebird).
Таким образом новая версия Firebird замещает старую и все программы переключаются на работу с новой базой данных.
При выполнении оптимизации/конвертации останавливается служба Firebird.
Поэтому нужно предупредить пользователей, чтобы они смогли завершить работу программ, которые используют доступ к базе данных.
Операция длительная, в зависимости от объема базы данных может занимать до часу и более времени.
Полученную базу с ошибками и логи выполнения операции требуется передать в техническую поддержку АГБИС для выяснения причин.
В случае успешного завершения исходная база будет переименована и сохранена в прежнем каталоге. Со временем ее можно будет удалить для экономии места.
Термины
- «Исходная» база данных - это база данных, данные которой проверяются и оптимизируется.
К этой базе, настроено постоянное подключение программ через сервер Firebird.
Подключение выполняется напрямую к базе, поэтому требуются логин и пароль пользователя базы данных.
Логин и пароль пользователя программы, как правило, не совпадают логином и паролем базы данных.
- «Новая» база данных - это база данных, которая получается в результате создания резервной копии с помощью программ gbak.exe.
После проверки целостности «Исходная» база данных переименовывается и становится резервной копией, а «Новая» база данных переименовывается и становится «Исходной».
Кроме того новая версия 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 5,
- заменить порт Firebird 3,
- включить службу Firebird 3.
Восстановление Firebird можно выполнить через программу agbdbconvertor.ехе с формы "Настройка Firebird"