Интерна провера конзистентности gds софтвера - како опоравити Firebird/InterBase базе података
Oleg Matveev, 20-Nov-2014
Када инстанца Firebird (или InterBase) не може да изврши неку операцију без гаранције да конзистентност базе података неће бити угрожена, подиже грешку (bugcheck) и прекида тренутну операцију.
Такав текст грешке Firebird-а почиње обавезним префиксом “internal gds software consistency check (can’t continue after bugcheck)” (за новије верзије Firebird-а то је “internal Firebird software consistency check”), а затим следи стварни текст грешке (попут “decompression overran buffer (179)”).
Често грешке “internal software consistency check” значе да је база података Firebird-а оштећена (међутим, то није правило) - тј. конзистентност интерне слике базе података је нарушена и треба је поправити да би се наставио нормалан рад.
Ако видите такву грешку у свом firebird.log-у или као поруку о грешци у својој апликацији, покрените ову команду да бисте били сигурни да је ваша база података исправна:
gfix.exe -v -full -user SYSDBA -pass masterkey path_to_your_database
Ако gfix валидација врати грешке, база података је оштећена и захтева опоравак.
Прво покушајте опоравак са gfix-ом:
gfix.exe -mend -ig -user SYSDBA -pass masterkey path_to_your_database
а затим направите резервну копију базе података:
gbak.exe -b -g -user SYSDBA -pass masterkey path_to_your_database path_to_backup
и вратите:
gbak.exe -c -v -user SYSDBA -pass masterkey path_to_backup path_to_new_database
Ако постоји проблем током gfix/gbak-а, опоравите оштећену базу података помоћу IBSurgeon FirstAID алата - већина грешака “internal Firebird consistency check” може се поправити њиме; FirstAID је посебно дизајниран за решавање тешких оштећења база података.
Такође, ако имате оштећену Firebird или InterBase базу података, молимо вас да контактирате нашу подршку: [email protected] и доставите пун текст грешке (или снимак екрана).