Hier ist eine kurze Schritt-für-Schritt-Anleitung:
- Trennen Sie Benutzer und deaktivieren Sie eingehende Verbindungen zur Datenbank
- Erstellen Sie eine Kopie der Datenbankdatei (oder zwei Kopien) und arbeiten Sie daran
- Verwenden Sie GFIX mit der Option -v, um die Datenbankdatei zu überprüfen
- Verwenden Sie GFIX mit -v und -f, um eine vollständige Validierung durchzuführen
Wenn das Problem nicht zu schwerwiegend ist, können Sie versuchen, die defekte Datenbank zu sichern und unter einem neuen Namen wiederherzustellen:
- Verwenden Sie GFIX -mend, um eine beschädigte Datenbank für die Sicherung vorzubereiten
- Verwenden Sie GBAK -b -g, um die Datenbank zu sichern. -g deaktiviert die Speicherbereinigung
- Verwenden Sie GBAK -c, um die Sicherung in einer neuen Datenbank wiederherzustellen.
Wenn Sie erfolgreich sind, haben Sie das Problem behoben und verfügen über eine funktionierende Datenbank. Wenn nicht, können Sie versuchen, eine leere Datenbank mit derselben Struktur zu erstellen und die Daten in diese zu pumpen.
Einer der Gründe, warum das Sichern oder Wiederherstellen fehlschlagen kann, besteht darin, dass einige fehlerhafte Datenbankauslöser vorhanden sind und die Verbindung zur Datenbank verhindert wird. Beispielsweise kann ein Datenbank-Trigger eine Tabelle mit einem fehlerhaften Index usw. verwenden. Um dies zu umgehen, stellen Sie mit dem isql-Tool mithilfe der Option -nodbtriggers eine Verbindung zur Datenbank her und deaktivieren Sie diese Trigger. Sie können sie später aktivieren, wenn Sie andere Probleme beheben und wieder eine funktionierende Datenbank erhalten.
Ein weiterer Grund, warum die Wiederherstellung möglicherweise fehlschlägt, besteht darin, dass Sie Daten beschädigt haben, sodass einige der Gültigkeitsbeschränkungen (Prüfbeschränkungen usw.) nicht erfüllt werden können. In diesem Fall können Sie versuchen, Ihre Datenbank mit dem Befehlsschalter -N [O_VALIDITY] auf gbak wiederherzustellen.
Wenn Sie detailliertere Informationen zum Reparieren der Datenbank sowie Erläuterungen zu einigen Arten von Korruption benötigen, lesen Sie die folgende Seite:
http://www.ibphoenix.com/resources/documents/search/doc_5
Wenn alles fehlschlägt, können Sie das IBSurgeon-Tool ausprobieren, mit dem die meisten Probleme behoben und Daten extrahiert werden können. Auf der Website von IBSurgeon finden Sie außerdem ausführliche Erläuterungen zu den Ursachen der Datenbankbeschädigung und Möglichkeiten zur Behebung:
http://ib-aid.com/option,com_content/task,view/id,58/Itemid,62/
Überprüfen Sie diese Anleitung http://www.firebirdfaq.org/faq324/