Статья написана автором Галиев Руслан

Бэкап Firebird DB утилитой GBAK

Резервное копирование и восстановление базы данных средствами утилиты GBAK.

Наиболее универсальным инструментом, позволяющим осуществить резервное копирование базы данных на любой платформе, является gbak — утилита командной строки, входящая в поставку FireBird. С помощью gbak можно обратиться к любому функционирующему FireBird-серверу и произвести считывание данных и получение на их основе резервной копии, а также восстановить базу данных из резервной копии. Находится утилита в подкаталоге \bin каталога с установленным сервером FireBird, файл gbak.exe.

В состав программы TaxiDriver входит командные файлы с уже настроенной командой gbak для операций резервного копирования (BackUp.cmd) и восстановления (Restore.cmd).

Внимание! Пути к утилите gbak и файлам базы данных и резервной копии указаны в этих командах исходя из процедуры стандартной однопользовательской установки программы. Для использования этих команд по отношению к базе данных на удалённом сервере файлы должны быть соответственно модифицированы.

Формат команды при использовании утилиты gbak для резервного копирования базы данных программы на компьютере с установленным сервером FireBird:

1
gbak -B -USER пользователь -PAS                                          пароль [options] файл_исходной_базы_данных                                          файл_резервной_копии

backup

Создание резервной копии базы данных. Реальная команда (взятая из файла BackUp.cmd, поставляемого вместе с программой) выглядит так:

1
C:\FireBird\Bin\gbak -B -USER SYSDBA                                          -PAS masterkey C:\TaxiDriver\Data\TaxiDriver.gdb                                          C:\TaxiDriver\Data\TaxiDriver.gbk

При этом подразумевается, что утилита gbak.exe находится в каталоге C:\FireBird\Bin\ , база данных находится на этом-же компьютере в файле C:\TaxiDriver\Data\TaxiDriver.gdb, результат операции следует поместить в файл C:\TaxiDriver\Data\TaxiDriver.gbk а подключение к базе данных производится от имени пользователя SYSDBA пароль masterkey. Если Ваши условия отличаются — необходимо внести соответствующие изменения в команду.

Время выполнения операции зависит от размера базы данных и скорости компьютера. При нормальном выполнении операции сообщений об ошибках нет.

Помимо однократного осуществления backup часто возникает задача наладить регулярный процесс резервного копирования — например, ежедневный или даже чаще. Для этого можно воспользоваться либо встроенными средствами ОС для организации регулярного копирования, то есть помощью штатного планировщика задач в определенное время запускать пакетный файл, содержащий команды для осуществления backup.

restore

Формат команды при использовании утилиты gbak для восстановления базы данных из резервной копии на компьютере с установленным сервером FireBird:

1
gbak -R -USER пользователь -PAS                                          пароль [options] файл_резервной_копии                                          файл_новой_базы_данных

Восстановление базы данных из резервной копии. Реальная команда (взятая из файла Restore.cmd, поставляемого вместе с программой) выглядит так:

C:\FireBird\Bin\gbak -R -USER SYSDBA -PAS masterkey C:\TaxiDriver\Data\TaxiDriver.gbk C:\TaxiDriver.gdb

При этом подразумевается, что утилита gbak.exe находится в каталоге C:\FireBird\Bin\ , файл резервной копии находится на этом-же компьютере в файле C:\TaxiDriver\Data\TaxiDriver.gbk, новую базу данных следует создать в файле C:\TaxiDriver.gdb (обратите внимание: создаётся новая база данных в другом каталоге), подключение к базе данных производится от имени пользователя SYSDBA пароль masterkey. Если Ваши условия отличаются — необходимо внести соответствующие изменения в команду.

Время выполнения операции зависит от размера базы данных и скорости компьютера. При нормальном выполнении операции сообщений об ошибках нет.

Внимание! Будьте предельно осторожны при выполнении восстановления базы данных. Ни при каких обстоятельствах не выполняйте восстановление в файл с именим, совпадающим с существующей базой данных. В случае возникновения ошибки при восстановлении вы потеряете файл существующей базы. Операция восстановления должна производиться только в другой каталог.

замещение существующего файла базы данных

После выполнения backup/restore у вас появляется новый файл базы данных. Если операция b/r производилась в профилактических целях (или по причине починки аварийной базы данных) и требуется заместить существующий файл базы данных новым необходим:

  • Остановить сервер FireBird
  • Переименовать (переместить) существующий файл базы данных
  • Скопировать (переместить) на его место новый
  • Запустить сервер FireBird

важное замечание

Нормальное (без ошибок) выполнение резервного копирования (backup) не гарантирует нормальное восстановление (restore) базы данных из этой резервной копии. Только убедившись (проведя контрольное восстановление базы данных) в отсутствии ошибок при восстановлении можно архивировать полученный файл резервной копии.

Следует придерживаться правила обязательной проверки контрольным восстановлением критичных операций резервного копирования.

Никогда не удаляйте исходный (старый) файл базы данных до проверки гарантированной работоспособности восстановленной копии.

Комментарии

You must be logged in to post a comment.

Tags Связь с комментариями статьи:
RSS комментарии