Deze pagina is automatisch vertaald. Lees het Engelse origineel. English

IBSurgeon-bibliotheek

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