Datenbank prüfen

Wechseln zu: Navigation, Suche
Wir arbeiten aktuell daran, die neuen Funktionalitäten von Moodle 3.7. zu dokumentieren.

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:

  1. Wählen Sie die Moodle-Datenbank aus.
  2. Klicken Sie auf den Reiter SQL und geben Sie folgenden SQL-Befehl ein:
    CHECK TABLE mdl_tablename
    , um eine Tabelle zu prüfen.
  3. Klicken Sie auf den Button Go.
  4. Klicken Sie auf den Reiter SQL und geben Sie folgenden SQL-Befehl ein:
    REPAIR TABLE mdl_tablename
    , um eine Tabelle zu reparieren.
  5. Klicken Sie auf den Button Go.

Beispiel:

  • Wenn Sie die Tabelle
    mdl_log
    prüfen wollen, geben Sie den SQL-Befehl
    CHECK TABLE mdl_log
    ein.
Wenn Sie die Tabelle
mdl_log
reparieren wollen, geben Sie den SQL-Befehl
REPAIR TABLE mdl_log
ein.

Siehe auch