Interne gds-softwareconsistentiecontrole - hoe Firebird/InterBase-databases te herstellen
Oleg Matveev, 20-nov-2014
Wanneer een Firebird- (of InterBase-)instantie een bewerking niet kan uitvoeren zonder garantie dat de databaseconsistentie niet wordt aangetast, genereert deze een fout (bugcheck) en onderbreekt de huidige bewerking.
Dergelijke Firebird-fouttekst begint met het verplichte voorvoegsel “internal gds software consistency check (can’t continue after bugcheck)” (voor recente Firebird-versies is dit “internal Firebird software consistency check”), gevolgd door de daadwerkelijke fouttekst (zoals “decompression overran buffer (179)”).
Vaak betekenen “internal software consistency check”-fouten dat de Firebird-database beschadigd is (dit is echter geen regel) - dat wil zeggen, de consistentie van het interne databasebeeld is verbroken en moet worden hersteld om de normale werking voort te zetten.
Als u een dergelijke fout in uw firebird.log of als foutmelding in uw toepassing ziet, voer dan deze opdracht uit om ervoor te zorgen dat uw database in orde is:
gfix.exe -v -full -user SYSDBA -pass masterkey pad_naar_uw_database
Als gfix-validatie fouten retourneert, is de database beschadigd en vereist herstel.
Probeer eerst herstel met gfix:
gfix.exe -mend -ig -user SYSDBA -pass masterkey pad_naar_uw_database
en maak vervolgens een back-up van de database:
gbak.exe -b -g -user SYSDBA -pass masterkey pad_naar_uw_database pad_naar_backup
en herstel:
gbak.exe -c -v -user SYSDBA -pass masterkey pad_naar_backup pad_naar_nieuwe_database
Als er een probleem optreedt tijdens gfix/gbak, herstel de beschadigde database dan met IBSurgeon FirstAID tool - de meeste “internal Firebird consistency check”-fouten kunnen hiermee worden verholpen; FirstAID is speciaal ontworpen om zware databasebeschadigingen aan te pakken.
Neem ook, als u een beschadigde Firebird- of InterBase-database heeft, contact op met onze ondersteuning: [email protected] en verstrek de volledige tekst van de fout (of een screenshot).