Diese Seite wurde maschinell übersetzt. Lesen Sie das englische Original. English

IBSurgeon-Bibliothek

Interne GDS-Softwarekonsistenzprüfung - wie man Firebird/InterBase-Datenbanken wiederherstellt

Oleg Matveev, 20. November 2014

Wenn eine Firebird- (oder InterBase-) Instanz eine Operation nicht durchführen kann, ohne die Gewährleistung, dass die Datenbankkonsistenz nicht beeinträchtigt wird, löst sie einen Fehler (Bugcheck) aus und unterbricht die aktuelle Operation.

Ein solcher Firebird-Fehlertext beginnt mit dem obligatorischen Präfix “internal gds software consistency check (can’t continue after bugcheck)” (bei neueren Firebird-Versionen “internal Firebird software consistency check”), gefolgt vom eigentlichen Fehlertext (z. B. “decompression overran buffer (179)”).

Oft bedeuten “internal software consistency check”-Fehler, dass die Firebird-Datenbank beschädigt ist (dies ist jedoch keine Regel) - d. h., die Konsistenz des internen Datenbank-Images ist gestört und sollte behoben werden, um die normale Arbeit fortzusetzen.

Wenn Sie einen solchen Fehler in Ihrer firebird.log oder als Fehlermeldung in Ihrer Anwendung sehen, führen Sie diesen Befehl aus, um sicherzustellen, dass Ihre Datenbank in Ordnung ist:

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

Wenn die gfix-Validierung Fehler zurückgibt, ist die Datenbank beschädigt und erfordert eine Wiederherstellung.

Versuchen Sie zuerst die Wiederherstellung mit gfix:

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

und sichern Sie dann die Datenbank:

Code
gbak.exe -b -g -user SYSDBA -pass masterkey Pfad_zu_Ihrer_Datenbank Pfad_zum_Backup

und stellen Sie sie wieder her:

Code
gbak.exe -c -v -user SYSDBA -pass masterkey Pfad_zum_Backup Pfad_zur_neuen_Datenbank

Wenn es ein Problem während gfix/gbak gibt, stellen Sie die beschädigte Datenbank mit dem IBSurgeon FirstAID-Tool wieder her - die Mehrheit der “internal Firebird consistency check”-Fehler kann damit behoben werden; FirstAID wurde speziell für die Behandlung schwerer Datenbankbeschädigungen entwickelt.

Wenn Sie außerdem eine beschädigte Firebird- oder InterBase-Datenbank haben, kontaktieren Sie bitte unseren Support: [email protected] und senden Sie den vollständigen Fehlertext (oder einen Screenshot).