Ова страница је машински преведена. Прочитајте енглески оригинал. English

IBSurgeon библиотека

Интерна провера конзистентности 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-у или као поруку о грешци у својој апликацији, покрените ову команду да бисте били сигурни да је ваша база података исправна:

Code
gfix.exe -v -full -user SYSDBA -pass masterkey path_to_your_database

Ако gfix валидација врати грешке, база података је оштећена и захтева опоравак.

Прво покушајте опоравак са gfix-ом:

Code
gfix.exe -mend -ig -user SYSDBA -pass masterkey path_to_your_database

а затим направите резервну копију базе података:

Code
gbak.exe -b -g -user SYSDBA -pass masterkey path_to_your_database path_to_backup

и вратите:

Code
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] и доставите пун текст грешке (или снимак екрана).