Datenbank prüfen: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
(Die Seite wurde neu angelegt: „{{Geschwindigkeit}} {{Zum Übersetzen}} en:How_to_check_your_database_for_corruption“)
 
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
{{Geschwindigkeit}}
{{Geschwindigkeit}}


{{Zum Übersetzen}}
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 <code>--autorepair</code> 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: <code>CHECK TABLE mdl_tablename</code>, 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: <code>REPAIR TABLE mdl_tablename</code>, um eine Tabelle zu reparieren.
# Klicken Sie auf den Button ''Go''.
 
'''Beispiel''':
*Wenn Sie die Tabelle <pre>mdl_log</pre> prüfen wollen, geben Sie den SQL-Befehl <code>CHECK TABLE mdl_log</code> ein.
Wenn Sie die Tabelle <pre>mdl_log</pre> reparieren wollen, geben Sie den SQL-Befehl <code>REPAIR TABLE mdl_log</code> ein.
 
==Siehe auch==
 
*[http://moodle.org/mod/forum/discuss.php?d=58208#279638 moodle database optimization script] - Diskussionbeitrag im Kurs ''Using Moodle'' auf moodle.org
*[http://www.databasejournal.com/features/mysql/article.php/10897_3300511_2 Database Journal article on repairing database corruption in MySQL]


[[en:How_to_check_your_database_for_corruption]]
[[en:How_to_check_your_database_for_corruption]]

Aktuelle Version vom 9. Februar 2016, 12:03 Uhr


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