Восстановление БД Firebird (Interbase) после сбоев

Когда то настает такой момент, когда необходимо восстановить поврежденную БД.  Для ремонта БД мы будем использовать стандартные средства Firebird (Interbase) утилиты командной строки gfix и gbak.

Востановление БД

Последовательность действий для восстановления базы данных:

  • Остановить сервер баз данных Firebird (Interbase). 
  • Создать копию базы данных, которую в  последующем мы будем реанимировать. 
  • Запустить сервер баз данных Firebird (Interbase) 
  • Проверяем базу данных на повреждения
gfix -v -full error.fdb
  • Исправляем ошибки в базе данных:

    gfix –mend  error.fdb
    

  • Повторно проверяем на повреждения базу данных:

    gfix -v -full error.fdb
    

Резервируем БД

gbak -b -v -ig -g error.fdb backup.fbk

Описание параметров резервирования:

  • error.fdb – поврежденный файл базы данных
  • backup.fbk – файл резервной копии
  • -b – осуществляем резервирование backup
  • -v – отображаем подробную информацию о ходе резервирования
  • -ig – ошибки контрольных сумм будут игнорироваться
  • -g – запрет сборки мусора во время резервирования

Восстанавливаем БД

Для восстановления БД введите:

gbak -c -v  backup.fbk newbase.fdb

Описание параметров восстановления:

  • Backup.fbk – файл резервной копии базы данных
  • Newbase.fdb – файл базы данных который будет создан
  • -c –создать базу данных из файла резервной копии
  • -v – отобразить подробную информацию о ходе восстановления

Как сменить пароль суперпользователя sysdba?

# gsec -user sysdba -pass masterkey
GSEC>  modify sysdba -pw new_password
GSEC> add rasada -pw new_password
GSEC> quit