Tato stránka byla strojově přeložena. Přečtěte si anglický originál. English

Knihovna IBSurgeon

Interní kontrola konzistence softwaru gds - jak obnovit databáze Firebird/InterBase

Oleg Matveev, 20. listopadu 2014

Když instance Firebird (nebo InterBase) nemůže provést některou operaci bez záruky, že nebude ovlivněna konzistence databáze, vyvolá chybu (bugcheck) a přeruší aktuální operaci.

Takový text chyby Firebird začíná povinnou předponou „internal gds software consistency check (can’t continue after bugcheck)“ (u novějších verzí Firebird je to „internal Firebird software consistency check“) a poté následuje samotný text chyby (např. „decompression overran buffer (179)“).

Chyby typu „internal software consistency check“ často znamenají, že je databáze Firebird poškozená (i když to není pravidlem) - tj. konzistence vnitřního obrazu databáze je narušena a měla by být opravena, aby bylo možné pokračovat v běžné práci.

Pokud takovou chybu uvidíte ve svém firebird.log nebo jako chybovou zprávu ve své aplikaci, spusťte tento příkaz, abyste se ujistili, že je vaše databáze v pořádku:

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

Pokud validace gfix vrátí chyby, je databáze poškozená a vyžaduje obnovu.

Nejprve zkuste obnovu pomocí gfix:

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

a poté zálohujte databázi:

Code
gbak.exe -b -g -user SYSDBA -pass masterkey cesta_k_vasi_databazi cesta_k_zaloze

a obnovte:

Code
gbak.exe -c -v -user SYSDBA -pass masterkey cesta_k_zaloze cesta_k_nove_databazi

Pokud během gfix/gbak nastane problém, obnovte poškozenou databázi pomocí nástroje IBSurgeon FirstAID - většinu chyb typu „internal Firebird consistency check“ lze opravit právě s ním; FirstAID byl speciálně navržen pro řešení těžkého poškození databází.

Také, pokud máte poškozenou databázi Firebird nebo InterBase, kontaktujte prosím naši podporu: [email protected] a poskytněte plný text chyby (nebo snímek obrazovky).