Использование FB Database manager

Довольно долго искал утилитку для нормальной автоматизации процесса резервирования БД своего call-центра.

П.С. Довольно много картинок.


Система использует FireBird, инструментария довольно много,вплоть до встроенного GBAK, но писать bat файл было лениво.. В итоге наткнулся на утилиту Firebird Database Manager котораяперекрыла мои потребности в полной мере.
Итак начнемс — качаем утилиту по ссылке что приведена выше.
Процесс установки не должен вызвать проблем — все просто и обычно.
Процесс настройки делится на 2 этапа — сначала мы создаем скрипт для необходимых действий, а потом добавляем его в расписание для выполнения.
В меню появится 2 ярлыка :
1. Easy-IP Firebird Database Manager — Запускает создатель скриптов
2. Firebird Backup Scheduler — Запускает планировщик

При первом запуске Easy-IP Firebird Database Manager видим окно с выбором опций

Нас интересует самая первая «Backup Database». Тут есть 2 варианта
1. Нажать NEXT-для начала формирования нового скрипта
2. Выбрать рядом с опцией «Open backup script»— это позволит внести корректировки в ранее созданный скрипт
Мы создаем, так что жмем «NEXT» и попадаем в настройки подключения к БД.

Указываем имя пользователя, пароль доступа.
В поле «Database» указываем путь к БД (локальный каталог на ПК где лежит БД) нажав на кнопку «…» откроется диалог выбора файла БД (если БД на другом ПК — то пишем путь к БД на удаленном ПК).
В поле «Server Connection» указываем имя или IP-адрес сервера, если программа стоит локально — можно оставить без изменений.
Жмем «OK».
Получаем примерно такого вида окно



Следующим мы увидим такое окно

В нем мы указываем имя и путь по которому будет храниться копия нашей БД и дополнительные действия. Их рассмотрим поподробнее.

Закладка «Post Backup» — действия которые делает скрипт после создания резервной копии.
Опция «Zip File(s) after backup»-сжимает файлы бэкапов для более рационального использования места на жестком.
Опция «Append date/time to filename»-добавит к файлу дату и время его создания, удобно потом отслеживать по дате.
Опция «Execute a test restore to check the integrity of the backup»— проверит ваш файл на предмет правильного восстановления после бэкапа, строка ниже позволяет указать куда восстанавливать для проверки, если не указать делает временный файл в переменной TEMP (обычно это c:\windows\temp )

Закладка Logs


Тут все просто — писать или не писать все действия в лог. Рекомендую писать,потом проще отследить что (не дай бог) случилось.

Закладка Mail Setting


Не пользовался, но если настроить будет присылать Вам уведомления о проделанной работе.

Закладка «Advanced» содержит дополнительные опции по резервированию.


Опция «Non transportable format» — лучше галочку убрать, как если бы делали из IBExpert.
Опция «Process Checksums» — оставить.
Опция «Metadata only» — галочку не ставим, а то только «скелет» БД получим, без данных.
Опция «Process transactions in limbo» — завершить транзакции в режиме LIMBO, по умолчанию включено, так и оставляем.
Опция «Convert to tables» — не используется и не включаем, пока не нашел для чего она.
Опция «Collect garbage during backup process» — отключаем, равносильно использованию ключа Disable garbage collection, то есть gbak -b -g , для отключения сборки мусора.
После нажатия клавиши «NEXT» видим окошко


Тут несколько вариантов событий..
1. Сохраним скрипт нажав «Save the backup script», что и рекомендую сразу сделать. Откроется диалоговое окно
где вы и укажите название скрипта.


2. Нажать «NEXT» — что приведет к немедленному выполнению всего что Вы прошли ранее.


По окончанию заметит что все прошло успешно (если включена опция «Logs» все сохранится в файле лога).


3.Вариант — «Launch Scheduler», обычно нажимается после сохранения скрипта.


Нас интересует кнопка «Add Task» — открывает диалог добавления ранее сохраненного скрипта.


Выбираем и видим.


Жмем «Next».


Выбираем как часто,в какое время запускать скрипт. Оговорюсь сразу — при дальнейшей настройке можно более гибко это регулировать что и будет описано ниже. Жмем «NEXT».


Система запросит имя пользователя и пароль под которым будет выполнять скрипт.Рекомендую использовать пользователя с Административными правами. Также мне не удалось запустить на выполнение задачу с пользователем без пароля, так  что пароль у пользователя быть должен. Жмем «NEXT».


Вводим название задачи.Жмем «NEXT».


Ну вот.. Задача добавлена и будет выполняться в соответствии с Вашими настройками.
Если нужна еще задача — повторяем по кругу. При необходимости поправить условия выполнения скрипта выбираем его и жмем «EDIT», описывать не буду,т.к. эта часть на русском, приведу лишь скрины закладок.


Нажав «Дополнительно» увидим


И закладка «Параметры»

Кнопкой «DELETE» в списке задач мы соответственно удаляем задачу.

Кнопкой «RUN NOW» — выполняем выделенную в данный момент задачу независимо от настроек по времени.
Кнопкой «CLOSE» — закрываем планировщик и ждем и смотрим как все происходит по прошествию времени в Ваших логах, да копируем копии баз на какой либо носитель.

4 комментария для “Использование FB Database manager

  • Довольно долго искал?
    Ты меня спросить не мог?! Я на этом FB собаку съел, будь она не ладна…
    Эта утилита всегда стояла в качестве снятия бэкапа Абонента, именно на серваке в декте. И ты ее видел неоднократно.

  • Прошу прощение за возможно глупый вопрос..описанная система в этой инструкции создает «здоровый» бекап базы данных Infinity? остановка работы сервера и конкретно базы не требуется? если в момент бекапа идет запись в базу, как поведет себя планировщик? Почему я интересуюсь..на нашем сервере была реализована автоматическая система создания бекап файлов по средством bat файла, в котором было прописано использование gbak со всеми ключами и проч..система работала нормально, запуск скрипта проводился в 2 часа ночи по местному времени, но когда к несчастью потребовалось обратиться к созданным бекапам, к сожалению они оказались «битыми» в большенсве своем, но не все, откат пришлось сделать на 2 недели.

    • Действие утилиты аналогично работе встроенного gbak. Корректность бэкапа в обоих случая можно проверить только через restore базы их бэкапа. Тут к сожалению других механизмов нет.
      На момент бэкапа создается «снимок» базы со всеми закрытыми транзакциями — поэтому если идет запись — бд сохранится,но без данных которые в этот момент в нее записывались. Это нормальная работа резервирования в любой бд.
      Остановка сервера не требуется в момент создания копии.

Добавить комментарий

Ваш e-mail не будет опубликован.

*