Inhaltsverzeichnis

Reparaturversuch an einer beschädigten bzw. havarierten H2-Datenbank durchführen

Für H2-Datenbanken (ASV-Server School) gibt es eine Recovery-Funktion des Datenbankherstellers (optimiert durch die ISB AG und das ASV-Kernteam), welche in vielen, jedoch nicht allen Fällen eine beschädigte H2-Datenbank wieder in einen funktionstüchtigen Zustand versetzen kann.

Im ASV-Kernteam im StMUK wurde im März/April 2019 ein Framework geschaffen, welches diese Recovery möglichst einfach und komfortabel bedienbar machen soll und zusätzlich einige Funktionalitäten des mit ASV gelieferten Kommandozeilen-Tools dbctl integriert (konkret: Schema-Analyse, Datenbank-Vergleich).

Per 11.04.2019, 23.00 Uhr wurde eine Version des Tools bereitgestellt, die noch einmal (#nochmal) robuster im Umgang mit beschädigten Datenbanken ist. Ein erneuter Versuch lohnt sich daher auf jeden Fall.

Seit 30.03.2019, 00.00 Uhr steht unter dem unten verfügbaren Download-Link eine deutlich leistungsfähigere Version des H2-Recovery-Tools zur Verfügung. Diese ist insbesondere auch unmittelbar unter Microsoft Windows, Linux und Apple Mac OS X lauffähig.

Hier wird der Ablauf beschrieben, um ein derartiges H2-Recovery anzuwenden. Die nachfolgenden Schritte müssen auf der Maschine ausgeführt werden, die den DSS betreibt.

Vorbereitung

Stellen Sie im Vorfeld bitte unbedingt folgende Punkte sicher:

  • Falls es Ihnen technisch noch möglich ist, führen Sie eine schulscharfe Sicherung durch.
  • Der ASV-Server (DSS) muss vor dem Start der Recovery-Maßnahme beendet werden. Nähere Informationen folgen unten.
  • Sichern Sie vor dem Start den Ordner C:\ASV\Server\database (kann je nach Installationsort abweichen) samt aller dort enthaltenen Dateien. Sie selbst sind für die Sicherung der Datenbank verantwortlich!

Bitte wenden Sie sich bei der kleinsten Unklarheit an Ihre(n) Multiplikator(in).

Bitte versuchen Sie zunächst, den DSS-Dienst auf dem üblichen Weg zu beenden.

Solange der DSS läuft, verweigert das Recovery-Tool den Dienst. In diesem Fall erhalten Sie eine entsprechende Meldung. Beenden Sie dann erst den DSS, bevor Sie einen erneuten Recovery-Lauf anstoßen.

Download und Entpacken des Recovery-Tools

Ein verschlüsseltes ZIP-Archiv, welches das Tool zur komfortablen Ausführung der Recovery-Maßnahme enthält, können Sie hier herunterladen. Das Passwort zur Entschlüsselung lautet !!ASV!!

Klicken Sie nach dem Download mit der rechten Maustaste auf die ZIP-Datei (1) und wählen Sie die Option Alle extrahieren… (2):

Bestätigen Sie den erscheinenden Dialog, indem Sie auf die Schaltfläche Extrahieren klicken:

Wenn Sie nach dem Passwort gefragt werden, geben Sie dieses bitte ein (1) und klicken Sie auf OK (2):

Konfigurationsdatei configuration/config.ini anpassen

Öffnen Sie nach dem Entpackvorgang zunächst mit einem Text-Editor die Datei config.ini im Unterverzeichnis configuration. Passen Sie die dortigen Einstellungen bitte an die örtliche H2-Installation an. In der Regel müssen Sie vor allem prüfen, ob der Wert der Variablen dss.basispfad korrekt auf das Basisverzeichnis der DSS-Installation zeigt:

Speichern und schließen Sie die Datei anschließend wieder.

Ausführung

Führen Sie einen Doppelklick auf die Datei h2recover.bat durch, um das Tool auszuführen. Eventuell müssen Sie anschließend noch eine Sicherheitsabfrage bestätigen. (Unter Linux oder Apple Mac OS X rufen Sie statt dessen bitte die h2recover.sh auf.)

Für Windows-Benutzer:

Abhängig von den Rechten des angemeldeten Benutzers kann es alternativ notwendig sein, mit der rechten Maustaste auf die Datei zu klicken und im anschließend erscheinenden Kontextmenü die Option Als Administrator ausführen zu wählen.

Falls die Benutzerkontensteuerung (UAC) aktiv ist, müssen Sie anschließend aktiv eine Sicherheitsabfrage bestätigen.

Anschließend startet das Tool und Sie sehen folgende graphische Oberfläche:

Um die Recovery zu beginnen klicken Sie bitte auf die Schaltfläche Start….

Bitte haben Sie etwas Geduld, solange die H2-Datenbank analysiert und neu geschrieben wird. Brechen Sie diesen Prozess keinesfalls ab!

Im Anschluss erhalten Sie eine Rückmeldung in dieser bzw. ähnlicher Form:

Falls Einträge im Logfile angefallen sind (1), können Sie diese durch Klick auf den Button Logfile ansehen… (2) betrachten. Die angegebene Anzahl Zeilen gibt Ihnen Aufschluss darüber, wie viele Datensätze aufgrund irreparabler Beschädigung entfernt werden mussten. Details zu diesen Datensätzen können - soweit dies technisch noch feststellbar war - im Logfile eingesehen werden.

Das Recovery-Logfile h2recovery.log.txt wird im database-Ordner der DSS-Installation abgelegt und steht somit auch später noch zur Verfügung.

Prüfung des Datenbank-Schemas

Zusätzlich bietet Ihnen das Tool nach Klick auf die Schaltfläche Schema prüfen (1) die Möglichkeit, das Schema Ihrer H2-Datenbank gegen die Referenzdatenbank abzugleichen. Wenn Ihre Datenbank vollständig „gesund“ ist, erhalten Sie eine Ausgabe (2) in folgender Art:

Falls hingegen Abweichungen bestehen, so werden diese im Einzelnen aufgelistet.

Datenbank-Vergleich

Sie können die beim H2-Recovery entstandene Datenbank automatisiert mit der ursprünglichen, im Unterverzeichnis backup_XXXX gesicherten Datenbank vergleichen lassen. Klicken Sie hierzu auf die Schaltfläche DB-Vergleich (1). Bitte haben Sie etwas Geduld, während die beiden Datenbank-Bestände abgeglichen werden.

Die Schaltfläche DB-Vergleich steht Ihnen erst zur Verfügung, nachdem der Recovery-Durchgang gelaufen ist.

In diesem beispielhaften Screenshot wurde das „Optimal-Ergebnis“ (2) diagnostiziert - Abweichungen werden Ihnen ggf. an dieser Stelle aufgelistet. Wenn dabei davon die Rede ist, dass das Schema ASV nicht gefunden werden konnte, so ist die Original-Datenbank leider in einem zu beschädigten Zustand, um sie zu reparieren. In diesem Fall müssen Sie auf eine Datensicherung zurückgreifen, vgl. unten.

Erneuter Start des DSS

Starten Sie nun den DSS erneut und prüfen Sie das Ergebnis in ASV.

Falls die Recovery fehlschlägt

Vor jedem Lauf einer H2-Recovery bringt das Tool die vorgefundene Datenbank automatisch in Sicherheit. Diese wird in ein Unterverzeichnis namens BACKUP_XXXX verschoben, wobei XXXX für den Zeitstempel des Verschiebezeitpunkts steht. Somit kann auf einfache Weise wieder zum vorigen Stand der Datenbank zurückgekehrt werden. (Dies macht freilich nur Sinn, sofern dieser in einem „besseren“ Zustand sein sollte als die durch das Recovery entstandene Version.)

Rückgriff auf (automatische) Backups

Sofern die H2-Recovery bei Ihnen nicht erfolgreich war, ist es an der Zeit, vorliegende Datensicherungen (weggesicherter Ordner database bzw. schulscharfe Sicherungen) heranzuziehen.

Wenn Sie den Inhalt des Ordners database austauschen müssen, um auf einen anderen Stand der H2-Datenbank zu gehen, stellen Sie zuvor sicher, dass der DSS beendet ist. Anderenfalls wären die Dateien, welche Sie ersetzen müssen, noch in dessen Zugriff und damit gegen Änderung bzw. Löschen gesperrt.

Falls Sie Fragen haben...

Bitte wenden Sie sich bei Problemen oder Fragen rund um das Recovery-Tool an leonhard.fellermayr@stmuk.bayern.de.

Wir helfen Ihnen gerne und vermitteln Ihnen im Bedarfsfall einen sicheren Weg, um Ihre beschädigte Datenbank durch die ISB AG bzw. das IT-DLZ prüfen zu lassen, sofern das diesbezügliche Einverständnis der Schulleitung(en) vorliegt. Die technischen Möglichkeiten jenseits des vorliegenden H2-Recovery-Tools sind jedoch in aller Regel beschränkt.