Datenbank prüfen
Fehler in der Datenbank (database corruption) treten meistens im Zusammenhang mit einem Hardware-Fehler auf (z.B. bei einem Problem mit dem Festplattenspeicher) oder wenn die Festplatte voll ist. Als Symptom könnte es z.B. passieren, dass Sie sich nicht mehr in Moodle anmelden können und stattdessen eine Fehlermeldung
Session Replace: Table './moodle/mdl_sessions2' is marked as crashed and should be repaired
erscheint. Häufig betrifft das Problem MySQL-Datenbanken.
MySQL-Datenbank
Sie können versuchen, das Problem wie folgt zu beheben (wir nehmen an, Ihre Moodle-Datenbank ist eine MySQL-Datenbank und heißt moodle):
#mysqlcheck -u moodleuser -p --auto-repair moodle Enter password: moodle.adodb_logsql OK moodle.mdl_assignment OK moodle.mdl_assignment_submissions OK ... moodle.mdl_log error : Table './moodle/mdl_log' is marked as crashed and should be repaired ... moodle.mdl_sessions2 error : Table './moodle/mdl_sessions2' is marked as crashed and should be repaired Repairing tables moodle_18_latest.mdl_log OK moodle_18_latest.mdl_sessions2 OK
Ihr MySQL-Datenbank-Server muss laufen, während Sie diesen Test machen. Wenn es Probleme mit den Datenbanktabellen gibt, dann wird die obige Option --autorepair
die Fehler beheben. Beachten Sie, dass dieser Vorgang lange dauern kann. Geben Sie das Kommando anschließend erneut ein, um zu prüfen, ob jetzt alle Tabellen OK sind.
Einzelne Tabellen können mit dem Tool MySQL Admin oder phpMyAdmin prüfen und geprüft werden:
- Wählen Sie die Moodle-Datenbank aus.
- Klicken Sie auf den Reiter SQL und geben Sie folgenden SQL-Befehl ein:
CHECK TABLE mdl_tablename
, um eine Tabelle zu prüfen. - Klicken Sie auf den Button Go.
- Klicken Sie auf den Reiter SQL und geben Sie folgenden SQL-Befehl ein:
REPAIR TABLE mdl_tablename
, um eine Tabelle zu reparieren. - Klicken Sie auf den Button Go.
Beispiel:
- Wenn Sie die Tabelle
mdl_log
prüfen wollen, geben Sie den SQL-BefehlCHECK TABLE mdl_log
ein.
Wenn Sie die Tabelle
mdl_log
reparieren wollen, geben Sie den SQL-Befehl REPAIR TABLE mdl_log
ein.
Siehe auch
- moodle database optimization script - Diskussionbeitrag im Kurs Using Moodle auf moodle.org
- Database Journal article on repairing database corruption in MySQL