Pull to refresh

Поточное резервирование базы данных, передача по сети и восстановление с конвертацией из FB 2.5 в FB 3.0

Reading time1 min
Views2K
Задача заключается в том, чтобы как можно быстрее перенести базу данных c одного сервера на другой, с конвертацией её ODS в 12.0.

Идея была позаимствована в статье Поточная конвертация баз Firebird 2.5 в формат ODS12 (Firebird 3.0), в которой рассматривается вопрос поточной конвертации на одной машине, с установкой двух версий Firebird, что не очень удобно, когда рассматривается вопрос переезда на другой сервер.

Что имеем:

  1. Два сервера, с версиями FB 2.5 и FB 3.0
  2. Локальную сеть между серверами
  3. Файл БД весом в 145gb

Общая идея переноса состоит из того-же конвейера, который был приведён в вышеупомянутой статье, нужно только внести небольшие корректировки:

gbak -b -g ... база25.fdb stdout | ssh -t ... user@host "sudo gbak -c stdin база30.fdb"

После восстановления было бы хорошо указать пользователя firebird и проверить БД:

sudo chown firebird:firebird база30.fdb
gfix -v -full база30.fdb

Всё, если база данных целая, то ошибок никаких не будет, подробную информацию о результате проверки файла БД можно посмотреть в /var/lib/firebird.log, если и там всё отлично, то можно переключать пользователей на работу с новой БД.

На перенос ушло примерно 80 минут, что мне кажется довольно быстро.
Tags:
Hubs:
+8
Comments2

Articles

Change theme settings