Відновлення (перепаковка, лікування) пошкодженої бази даних (БД) FireBird
Замовлення зберігаються у файлі wcoffers.fdb !!!При пошкодженні БД неможливо буває запустити програму, або при операціях с замовленнями виникають помилки. Наприклад:
- internal firebird consistency check (can't continue after bugcheck)
- internal firebird consistency check (cannot find record back version (291))
Відновлення БД виконується шляхом створення бекапу БД та наступним створенням нової БД із бекапу.
Потрібно обов'язково встановити Firebird сервер для виконання процедури перепаковки!
Відновлення (перепаковка) пошкодженої бази даних (БД) FireBird за допомогою інтерфейсу WinCalc
-
Потрібно вибрати функцію перепаковки бази:
-
Вибрати пошкоджену базу та запустити процес (wcoffers.fdb для файлу замовлень):
Увага! Процес перепаковки повинен пройти без помилок і в консолі має з'явитися повідомлення що процес закінчено. Оригінал бази даних після перепаковки потрібно заміни перепакованою версією.
Відновлення (перепаковка) пошкодженої бази даних (БД) FireBird за допомогою gbak та gfix
Скрипт в ідновлення БД (backup.cmd):
set dd=%date:.=_%
set dd=%date:~6,4%_%date:~3,2%_%date:~0,2%
copy %1 tmp.fdb || pause
"C:\Program Files\Firebird\Firebird_2_5\bin\gfix" -mode read_only "localhost:%CD%\tmp.fdb" -user SYSDBA -pas masterkey || pause
"C:\Program Files\Firebird\Firebird_2_5\bin\gfix" -mend -ignore "localhost:%CD%\tmp.fdb" -user SYSDBA -pas masterkey || pause
"C:\Program Files\Firebird\Firebird_2_5\bin\gbak" -b -g -ignore -v "localhost:%CD%\tmp.fdb" "tmp.fdk" -user SYSDBA -pas masterkey || pause
del tmp.fdb || pause
"C:\Program Files\Firebird\Firebird_2_5\bin\gbak" -c -v "tmp.fdk" "localhost:%CD%\%dd%_%1" -user SYSDBA -pas masterkey || pause
"C:\Program Files\Firebird\Firebird_2_5\bin\gfix" -mode read_write "localhost:%CD%\%dd%_%1" -user SYSDBA -pas masterkey || pause
"C:\Program Files\Firebird\Firebird_2_5\bin\gfix" -use reserve "localhost:%CD%\%dd%_%1" -user SYSDBA -pas masterkey || pause
del tmp.fdk || pause
Виконуємо у командній строці:
backup.cmd wcoffers.fdb
Помилки при відновленні БД
В деяких випадках потрібне ручне втручання у процес відновлення, наступні приклади допоможуть вирішити проблему якщо при автоматичному відновленні виникає помилка. Для цього потрібні навички підключення до БД за допомогою будь-якої програми (IBExpert, Flame Robin, тощо.)