Verhalten:
Bei DocuWare-Systemen mit MySQL (insbesondere mit großen Volltext-Archiven) kann es immer wieder vorkommen, dass eine der Tabellen inkonsistent oder fehlerhaft ist. Das äußert sich auf verschiedene Arten in DocuWare.
Neben der offensichtlichen Meldung "Fehler beim Speichern des Dokumentes: <filecabinet_tablename> is marked as crashed and should be repaired" wird auch immer wieder diese Meldung angezeigt: "Fehler beim Speichern des Dokumentes: duplicate entry 'REINDEX' for key 2".
Mögliche Ursachen:
- Instabile Betriebssysteme
- Hardware-Probleme
- Stromausfälle
- Abstürze des MySQL Server Prozesses während der Laufzeit
- Externe Programme, die ebenfalls Daten in der Datenbank verändern und zeitgleich auf die Daten zugreifen
Lösung:
Tabellen prüfen
Um das Problem zu beheben, muss der MySQL Administrator installiert sein (Teil der MySQL GUI Tools - siehe Kapitel "Weiterführende Links"). Nach der erfolgreichen Anmeldung an der Datenbank kann unter dem Punkt "Kataloge" eine Übersicht aller Datenbanktabellen geöffnet werden. Hier werden zum Teil schon vom Programm als "fehlerhaft" erkannte Tabellen rot markiert.
An dieser Stelle ist es nun möglich, einzelne oder mehrere Tabellen vom Programm überprüfen zu lassen, indem man die gewünschte(n) Tabelle(n) markiert und anschließend aus dem Kontextmenü "Pflege" und dann "Tabelle prüfen" wählt.
Bei der Prüfmethode empfiehlt sich die Einstellung "Erweitert", auch wenn diese zur Verarbeitung länger braucht.
Nach Abschluss der Überprüfung erscheint ein Prüfergebnis, ob und welche Tabellen fehlerhaft sind und repariert werden sollten.
Tabellen reparieren
Das Reparieren der Tabellen funktioniert ähnlich. Nach dem Markieren der zu reparierenden Tabelle(n) wird aus dem Kontextmenü der Punkt "Pflege" -> "Tabelle reparieren" ausgewählt.
In manchen Fällen wird die zu reparierende Tabelle nicht im MySQL Administrator unter den Schema-Tabellen angezeigt. In diesem Fall muss die Tabelle manuell repariert werden (siehe weiter unten).
Hier ist ebenfalls die Reparaturmethode "Erweitert" empfohlen. Die zusätzlich möglichen Optionen waren bisher noch nicht erforderlich.
Nach Abschluss der Reparatur kann man dem Ergebnisdialog entnehmen, ob die Reparatur der Tabellen erfolgreich war.
Anschließend können wieder Dokumente in DocuWare abgelegt werden.
Manuelle Reparatur der Tabellen per MySQL Query Browser
Es kann vorkommen, dass die beschädigte Tabelle vom MySQL Administrator gar nicht mehr erkannt und daher auch nicht aufgeführt wird. In diesem Fall muss die Tabelle manuell über den MySQL QueryBrowser repariert werden.
Zunächst überprüft man, ob die Tabelle im Query Browser aufgeführt wird. Ist dies der Fall, so setzt man folgende Query ab (wichtig ist, das davor das richtige Schema ausgewählt ist):
repair table <Tabellenname> extended
Wie im obigen Screenshot ersichtlich ist, liefert der Query Browser ein Ergebnis zurück, ob die Reparatur erfolgreich war. Anschließend sollte die Tabelle auch wieder im MySQL Administrator sichtbar sein.
Weiterführende Links
MySQL GUI Tools