phpbar.de logo

Mailinglisten-Archive

Fehlerbehandlung bei korrupte Tabellen

Fehlerbehandlung bei korrupte Tabellen

MOBOTIX AG - Oliver Strecke (MX) oliver.strecke at mobotix.com
Don Sep 16 11:19:19 CEST 2004


Durch kernel-panic ist mein Datenbankserver gecrasht und damit wurde auch mysqld gekillt. Leider schrieb MySQL gerade in zwei stark frequentierten Tabellen. Nach dem Reboot und dem Neustart von mysql markierte MySQL die beiden Tabellen korrekterweise als "corrupted". Dadurch waren diese Tabellen aber "schreibgeschützt" was meine Anwendungen aber nicht wussten. Auch wurde kein Fehler gemeldet, da mysql_connect(); problemlos funktionierte. Auch bei mysql_query(); gab es keine false Rückgabe, so dass unsere Fehlerbehandlungen fehlschlugen.

Resultat war, dass verschiedene Automatismen brav weiter in die Tabelle schrieben, glaubten das alles ok ist, aber tatsächlich in den korrupten Tabellen keine Daten ablegen konnten.

Nun die eigentliche Frage: Weiß jemand wie man einen Fehler bei korrupten Tabellen abfangen kann wenn man versucht dort Daten einzutragen?

Ich habe die Tabelle leider schon repariert und ich konnte die korrupten Tabellen nicht dumpen. Daher kann ich den Zustand momentan nicht mehr reproduzieren.
Ich kann mir vorstellen das ich alle Anwendungen umd affected_fows() erweitern muss, um die tatsächlich behandelten Datensätze zu verifizieren. Auch wäre ein Cluster eine Möglichkeit solche Fehler durch Replikationen "zu verwischen".

Aber welche Möglichkeiten gibt es noch?
Wer hatte mit sowas schon Erfahrungen?

Danke,
Oliver Strecke
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://lists.mushaake.org/pipermail/mysql-de/attachments/20040916/ae67dcbd/attachment.html

php::bar PHP Wiki   -   Listenarchive