Veelvoorkomende InterBase/Firebird-fouten veroorzaakt door corrupties en hun herstelkansen
Alexey Kovyazin, 31-03-2014
Hieronder vindt u een beschrijving van veelvoorkomende fouten en problemen in InterBase/Firebird-databases en de kans op herstel.
Om een exacte prijs en tijd voor herstel te krijgen, neem dan via e-mail contact met ons op.
Voor een globale prijsindicatie zie de servicebeschrijving van “Firebird and InterBase Recovery”. Er is geen 100% garantie dat de beschreven fouten exact overeenkomen met de beschreven oorzaken.
Interne gds-softwareconsistentiecontrole (cannot find tip page (165))
Foutbeschrijving
De database kan niet worden geopend met de Firebird- of InterBase-engine en het volgende bericht verschijnt: Internal gds software consistency check (cannot find tip page (165))
Abnormale afsluiting of fysieke corruptie van het databasebestand. De transactie-inventarispagina (TIP) is verloren gegaan. Het corruptiegebied kan variëren van enkele pagina’s tot de hele database, dus nader onderzoek is nodig.
Oorzaak (waarom is dit gebeurd?) De meest waarschijnlijke oorzaken zijn abnormale serverafsluiting (via de Reset-knop), een verkeerde back-upaanpak of back-up tools. Op Windows XP kan dergelijke corruptie worden veroorzaakt door de functie “Systeemherstel” voor “gdb”-bestanden.
Herstelproces
Eerst moet de database worden gescand met FirstAID Diagnostician. Als FirstAID niet waarschuwt voor ernstige corruptie, kan de corruptie worden verholpen met de volledige versie van FirstAID.
In geval van ernstige corruptie is een op maat gemaakt herstel nodig.
Kans op het verhelpen van de corruptie
99%
Databasebestand lijkt corrupt. Verkeerd paginatype. Pagina NNN is van het verkeerde type (verwacht X, gevonden Y)
Foutbeschrijving
Er is een foutmelding verschenen in de standaarduitvoer of in firebird.log of interbase.log:
Database file appears corrupt. Wrong page type. Page NNN is of wrong type (expected X, found Y)
Als gevolg van fysieke corruptie of een andere reden is de volgorde van de pagina’s van het databasebestand gewijzigd, of zijn er verkeerde waarden verschenen op pointerpagina’s of index-rootpagina’s, enz.
Oorzaak
De meest waarschijnlijke oorzaken zijn abnormale serverafsluiting (via de Reset-knop), een verkeerde back-upprocedure of verkeerde back-up tools/aanpak.
Herstelproces
Eerst moet de database worden gescand met FirstAID Diagnostician. Als FirstAID niet waarschuwt voor ernstige corruptie, kan de corruptie worden verholpen met de volledige versie van FirstAID.
Anders is een op maat gemaakt herstelproces nodig.
Kans op het verhelpen van de corruptie
95%.
Onbekende database-I/O-fout voor bestand “*.gdb”. Fout bij het lezen van het bestand
Foutbeschrijving
De database kan niet worden geopend en de volgende foutmelding verschijnt: Unknown database I/O error for file “*.gdb”. Error while trying to read from the file.
Oorzaak
Als gevolg van een abnormale serverafsluiting zijn de meest recente databasepagina’s niet naar de schijf geschreven.
Herstelproces
Op maat gemaakt herstelproces. De database wordt gecontroleerd met gfix en back-up/restore.
Herstelkansen
95%
Decompressie overschreed buffer
Foutbeschrijving
Er verschijnt een foutmelding: Internal gds software consistency check (decompression overran buffer (179))
Oorzaak
Dit is een ernstige databasecorruptie: systeemtabellen kunnen beschadigd zijn. Soms treedt deze fout op na het overzetten van de database naar een nieuwe server/computer. Onderzoek is nodig.
Herstelproces
Analyse van de databasestructuur, genereren van nieuwe pagina’s, meerdere iteraties nodig.
Herstelkansen
95%
Verkeerde recordlengte
Foutbeschrijving
Er verschijnt een foutmelding: Internal gds software consistency check. Wrong record length
Oorzaak
Meestal wordt de fout “Wrong record length” veroorzaakt door slecht RAM-geheugen. We raden ten zeerste aan om het geheugen (RAM) op de server te controleren.
Herstelproces
Zoek en verwijder verkeerde records met behulp van de low-level tools van IBSurgeon. Meerdere iteraties nodig.
Herstelkansen
97%
Databasebestand lijkt corrupt. Slechte checksum
Foutbeschrijving
Databasebestand lijkt corrupt. Slechte checksum. Checksumfout op databasepagina XX.
Oorzaak
Slecht RAM-geheugen. We raden ten zeerste aan om het geheugen (RAM) op de server te controleren.
Herstelproces
Op maat gemaakt herstelproces. Meerdere iteraties nodig.
Herstelkansen
99%
Kan record-backversie niet vinden
Foutbeschrijving
De database lijkt te werken, maar gbak kan de back-up niet voltooien.
Fouttekst:
Internal gds software consistency check (cannot find record back version (291))
gds_$receive failed. Exiting before completion due to errors. internal gds software consistency check (can’t continue after bug check).
Oorzaak
De meest waarschijnlijke oorzaak is een verkeerd transactiebeheer. Onderzoek naar de prestaties van transacties.
Herstelproces
De database vereist een gedetailleerde analyse, en meestal is de oplossing om de problematische databaseobjecten te vinden en te verwijderen en ze vervolgens opnieuw te creëren. Soms is het nodig om gegevens over te zetten naar een nieuwe database.
Herstelkansen
99%
Volgende transactie ouder dan oudste actieve transactie
Foutmeldingen
Internal gds software consistency check (next transaction older than oldest active transaction (266))
Oorzaak
Deze zeldzame fout komt voor in InterBase 4.x-5.x, het is een bug.
Herstelproces
Op maat gemaakt herstelproces
Herstelkansen
99%
Beschadigde header
Foutbeschrijving
De database kan niet worden geopend en Firebird/InterBase beschouwt deze niet als een geldige database.
Oorzaak
Fysieke corruptie, HDD-crash.
Herstelproces
Op maat gemaakt herstelproces
Herstelkansen
80%
Databasebestandsgrootte overschrijdt implementatielimiet
Foutbeschrijving
Dit gebeurt op InterBase 4.x-5.x-servers en vroege Firebird (0.9.x) bèta’s. De database kan niet worden geopend, de databasebestandsgrootte is 4Gb.
Oorzaak
Implementatielimiet van InterBase 4.x-5.x-6.0.x en vroege Firebird 0.9.x.
Herstelproces
Op maat gemaakt herstelproces.
Herstelkansen
Gewoonlijk kunnen we alle gegevens redden (d.w.z. 100%), maar soms kan dit minder dan 70% zijn.
Conversiefout van string
Foutbeschrijving
Fouttekst: Conversion error from string “XXX”.
Oorzaak
Voorlopige diagnose is onmogelijk, onderzoek ter plaatse is nodig.
Herstelproces
Op maat gemaakt herstelproces.
Herstelkansen
99%
INET/inet_error: read errno = 10054 of 10038 of 10093
Foutmeldingen
Meerdere vermeldingen in firebird.log of interbase.log met fouten 10054, 10038, 10093, enz.
Oorzaak
Deze fouten worden veroorzaakt door netwerkproblemen - controleer uw hubs, netwerkadapters, enz. Het is op zich geen Firebird/InterBase-fout, maar het kan wel invloed hebben op Firebird/InterBase.
Herstelproces
We bieden de FBScanner-tool aan om het probleem van “10054-fouten” op te lossen (naast andere problemen). Zie details hier.
Herstelkansen
Niet van toepassing.
Partnerindexbeschrijving niet gevonden (175))
Foutbeschrijving
Foutmeldingstekst: internal gds software consistency check (partner index description not found (175))
Ontbrekende index voor een primaire of externe sleutel.
Oorzaak
Dit kan worden veroorzaakt door fysieke corruptie of interne serverbugs.
Herstelproces
Op maat gemaakt herstelproces.
Herstelkansen
100%
Andere fouten
Foutbeschrijving
Hieronder staat een lijst van zeldzame Firebird/InterBase-fouten die door verschillende oorzaken kunnen worden veroorzaakt. Aarzel niet om ons de beschrijving van uw probleem te sturen - we kunnen u helpen.
Een verkeerde UDF kan de volgende fouten in interbase.log veroorzaken:
SCH_validate – not entered
SCH_validate – wrong thread
Indexcorruptie kan het volgende bericht in interbase.log veroorzaken:
Page 34672 is an orphan
En deze fout kan optreden tijdens intensieve inserts/updates/deletes binnen één transactie:
internal gds software consistency check (Too many savepoints (287))
Het is moeilijk om de oorzaak te herkennen zonder onderzoek van de database in geval van de volgende fouten:
internal gds software consistency check (error during savepoint backout (290))
internal gds Software consistency check (size of opt block exceeded (286))
internal gds software consistency check (invalid SEND request (167))
Waarschijnlijke oorzaak
Verschillende oorzaken. We moeten de beschadigde database onderzoeken.
Herstelproces
Op maat gemaakt herstelproces.
Herstelkansen
Verschillend