Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Defekte Datenbank (https://www.delphipraxis.net/106630-defekte-datenbank.html)

pronny31 14. Jan 2008 09:55

Datenbank: Firebird • Version: 2.0 • Zugriff über: Delphi 5

Defekte Datenbank
 
Gibt es eine Möglichkeit defekte Datenbank wieder herzustellen ?
Kommt ständig Konsistenz-Fehler .....
Vereinzelt komme ich an Datensätze ran !

mquadrat 14. Jan 2008 10:00

Re: Defekte Datenbank
 
Entweder über gfix (liegt im BIN Verzeichnis der Firebird-Installation) oder IB-Aid. Bei leichten Schäden könnte auch ein Backup / Restore helfen.

hoika 14. Jan 2008 10:19

Re: Defekte Datenbank
 
Hallo,

http://www.ibphoenix.com/main.nfs?a=...ge=ibp_db_corr


Heiko
PS: Ich würde aber nat. auch rausfinden, wieso die DB kaputt ist.

pronny31 14. Jan 2008 11:51

Re: Defekte Datenbank
 
Das Problem ist durch Memo-Felder entstanden !
Ich habe jetzt versucht einfach alle Datensätze in eine identische Tabelle zu kopieren !
Habe einfacg gesagt beginne bei 0 und geh alle Datensätze durch und versuche sie zu kopieren !(mit try except .....)
Nur kommt trotzdem der Fehler (gds software consi.......................) .
Gibt es ein Statement womit man herausfindet ob ein Datensatz defekt ist ?
Von 200000 Datensätzen gehe 180000 und der Rest ist fehlerhaft ...
Kennt jemand den Hintergrund ?
Ich geh mal davon aus es gibt dazu irgenwelche einträge in den Systemtabellen wobei diese sich ja auf die Felder beziehen ....

mkinzler 14. Jan 2008 11:54

Re: Defekte Datenbank
 
Geht der Export als Metadaten (inkl. Daten)?

pronny31 14. Jan 2008 12:02

Re: Defekte Datenbank
 
Habs probiert : Fehlermeldung !

Error Message:
----------------------------------------
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
internal gds software consistency check (can't continue after bugcheck).

hoika 14. Jan 2008 12:16

Re: Defekte Datenbank
 
Hallo,

so einfach ist das nicht.
Die DB ist in (xkB)-Seiten aufgeteilt.
Jede Tabelle belegt mehrere (naja, viele) dieser Seiten,
für Daten, Indezes, Blobs.
Das ganze ist wild durcheinander, obwohl FB versucht,
gleichartige Daten hintereinander zu speichern.


Im Seiten-Header steht u.a. drin, was konkret auf der Seite gespeichert ist
(Metadaten,Date,Index,Blob).
Gibt es Schreibfehler (z.B. Rechnerabsturz), wird viell. ein Index-wert auf eine
falsche Seite geschrieben.
FB kann bis zu einem bestimmten Grad erkennen, das die Daten auf einer Seite
falsch geschrieben sind (consistency check).

Da hilft kein "ich kopier mal ein bissel, mal sehen, wie viel Records ich bekomme",
bei Paradoy klappt sowas vielleicht noch, bei FB nicht mehr.

Geh mal genauso vor, wie bei meinem Link beschrieben.

Das geht los mit "FB anhalten, Datei von Hand (Explorer)" kopieren.


Heiko

pronny31 14. Jan 2008 12:34

Re: Defekte Datenbank
 
Des bringt auch nichts habe es probiert !

hoika 14. Jan 2008 13:05

Re: Defekte Datenbank
 
Hallo,

den Link komplett ausprobiert ?
Wo genau kommt denn bei der dortigen Vorgehensweise immer noch der Fehler.
Hast du verstanden, dass nach gfix immer Backup/Restore gemacht werdne muss ?


Falls es gar nicht mehr geht:

1. Versuch, die Daten mit IBExpert und Eingrenzung der Primär-Schlüssel
zu extrahieren
select * from project where (projectid>=0) and (projectid<=10000)
2. leere DB erzeugen und per IBDataPump füllen
klappt aber auch nicht immer
3. IB-FirstAid ist viell. letzte Rettung.


Heiko

pronny31 14. Jan 2008 13:49

Re: Defekte Datenbank
 
Gibt es eine Möglichkeit diese Exception abzufangen ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz