In einer Zeit, als die Hardware-Voraussetzungen an den Schulen noch anders ausgesehen haben als es heute der Fall ist, hatte man sich entschieden, zwei Installationsvarianten für ASV die Datenbank betreffend anzubieten:
Aus heutiger Sicht kann im Prinzip jede Schule (bzw. ASV-Installation) einen ASV Server Enterprise betreiben, weil
Vor diesem Hintergrund kann man dazu raten, vom ASV Server School auf die Enterprise-Variante umzustellen. Nach der Umstellung ergeben sich ausschließlich Vorteile in Bezug auf einen stabileren und erheblich performanteren Betrieb.
Bestehen Ihrerseits Zweifel bzw. Unklarheiten betreffend das erforderliche und hier beschriebene Vorgehen, zögern Sie bitte nicht, die für Ihre Schule(n) zuständige Multiplikatorin bzw. den zuständigen Multiplikator zu Rate zu ziehen, der den Systembetreuer der Schule oder Dienstleister für die IT unterstützen kann.
Im StMUK wurde im April 2022 ein Standalone-Java-Tool geschaffen, mit dem eine bestehende H2-Datenbank (ASV Server School) vollständig in eine (anfänglich leere) Postgres-Datenbank übertragen werden kann. Dabei werden die Datensätze 1:1 geklont.
Die graphische Oberfläche stellt sich wie folgt dar:
Wenn es darum geht, dass die sich bisher in einer H2-Datenbank befindlichen Schulen A und B in eine bereits produktive Postgres-Instanz „einziehen“ sollen (d. h. dort arbeiten bereits die Schulen C, D und E), so ist dies mit dem hier beschriebenen Verfahren nicht möglich.
In diesen Fällen muss (auch weiterhin) der Weg über die schulscharfe Sicherung (und deren Einspielen in den schon produktiv genutzten Ziel-DSS) beschritten werden.
Auf der Quellseite (H2, ASV Server School) muss im Vorfeld der DSS(-Dienst) angehalten werden, da sonst kein Zugriff auf die H2-Datenbank möglich ist. Dort muss auch das Tool ausgeführt werden.
Auf der Zielseite (Postgres, ASV Server Enterprise) muss zunächst Postgres aufgesetzt und anschließend ein „frischer“ DSS (ASV Server) mit dem Voll-Installer installiert werden. Der Postgres-Dienst muss laufen, der DSS sollte angehalten sein.
Der Postgres-Dienst auf der Zielseite muss netzwerktechnisch von der „abgebenden“ Quellseite aus erreichbar sein, damit die Daten „durchgepumpt“ werden können. Sofern Ziel- und Quellseite auf der gleichen Maschine liegen, ist das bereits mit den Standardeinstellungen kein Problem.
Sollten Sie die neue Installation auf der gleichen Maschine vornehmen, wählen Sie bei der Installation des Postgres/Enterprise-DSS bitte einen von der H2/School-Quellseite abweichenden Installationsort, z. B. C:\ASV_PG\Server
.
Falls Postgres/die Zielseite dagegen auf einer anderen Maschine als die Quellseite läuft, müssen die folgenden zwei Ergänzungen/Veränderungen an Postgres-Konfigurationsdateien (im data
-Verzeichnis von Postgres, in der Regel unter C:\Program Files\PostgreSQL\<Version>\data
zu finden) vorgenommen werden, damit das auf Quellseite laufende Tool berechtigt ist, auf die Postgres-Datenbank zuzugreifen und sie zu befüllen.
Ergänzen Sie in der Datei pg_hba.conf
am Ende die folgende Zeile:
Nehmen Sie in der Datei postgresql.conf
folgende Anpassung vor:
Starten Sie nun den PostgreSQL-Dienst neu, damit die Änderungen aktiv werden. Erst dann darf die Quell-Maschine (vorübergehend) auf die „entfernte“ Postgres-Datenbank zugreifen. Nach erfolgter Migration werden wir diese temporär erforderliche Ausweitung der Zugriffsberechtigung wieder rückgängig machen (s. u.).
Das Tool muss auf derjenigen Maschine ausgeführt werden, wo der abzulösende ASV Server School läuft (bzw. lief, denn er muss ja abgeschaltet sein, s. o.). Der Grund ist, dass die Zugangsdaten zur H2-Datenbank aus der config.ini
des Quell-DSS gelesen werden müssen.
Als Erstes ist der Pfad zur DSS-Installation des Quellsystems anzugeben. Falls der Quell-DSS in C:\ASV\Server
installiert ist, erkennt das Tool dies automatisch. In allen anderen Fällen klicken Sie bitte auf Durchsuchen… und navigieren in den Basisordner des Quell-DSS.
Anschließend wird die Angabe der korrekten Zugangsdaten für die Zieldatenbank (Postgres) erforderlich (mittlerer Bereich im obigen Screenshot).
Nach Klick auf die Schaltfläche Konvertiervorgang starten (dieser Knopf wird erst aktiv, wenn alle notwendigen Daten eingetragen sind) beginnt der Prozess mit seiner Arbeit.
Falls er auf der Zielseite ein bereits vorhandenes Schema asv
vorfindet, erfolgt eine Sicherheitsnachfrage.
Wenn Sie den Ziel-DSS gerade frisch installiert haben, wird angegeben, dass das Schema 0 (null) Schulen enthält. In diesem Fall können Sie der Löschfrage bedenkenlos zustimmen.
In allen anderen Fällen (d. h. wenn eine oder mehrere Schulnummern aufgeführt werden) ist Misstrauen geboten, da die Gefahr besteht, durch Verwechslung o. ä. eine andere, noch benötigte Postgres-Instanz zu überschreiben.
In der dbctl-Konsole werden Sie über den Fortgang informiert:
In Abhängigkeit von der Anzahl, Größe und Komplexität der in der H2-Instanz enthaltenen Schulen wird der gesamte Prozess einige Minuten in Anspruch nehmen. Bitte warten Sie, bis Ihnen durch ein Dialogfeld die Beendigung des Prozesses signalisiert wird (das kann auch dann noch ein wenig dauern, wenn gerade keine Ausgaben mehr in der dbctl-Konsole erfolgen):
Prüfen Sie anschließend die Ausgaben in der dbctl-Konsole.
Wurden in der dbctl-Konsole Fehler ausgegeben, so konnte der Klon-Vorgang nicht oder nicht vollumfänglich durchgeführt werden. Bitte prüfen Sie als Erstes die Korrektheit der eingegebenen Datenbank-Zugangsdaten. Sollte an der Stelle jedoch keine Fehleingabe vorliegen (was sehr unwahrscheinlich ist), erstellen Sie bitte ein Support-Ticket.
Tipp: Die Meldungen in der Konsole können markiert und in die Zwischenablage übernommen werden.
Abschließend beenden Sie das Werkzeug durch Klick auf Tool beenden.
Machen Sie die beiden oben unter „Voraussetzungen“ beschriebenen Änderungen an der Postgres-Konfiguration wieder rückgängig:
pg_hba.conf
wieder und speichern Sie die Datei ab;postgresql.conf
bei listen_addresses = …
statt des Sternchens *
wieder localhost
ein und speichern Sie die Datei ab.Starten Sie nun bitte den PostgreSQL-Dienst erneut, damit die Änderungen wirksam werden.
Bitte achten Sie unbedingt darauf, dass das Quellsystem (H2/Server School) nie mehr wieder in Betrieb geht/gehen kann.
Anderenfalls bestünde die Gefahr, dass das schulische Personal auf zwei verschiedenen ASV-Installationen arbeitet!
Falls der neue Postgres-DSS auf einer anderen Maschine als der alte H2-DSS läuft, müssen Sie beim ASV-Client (bzw. den ASV-Clients) in der Datei config.ini
die Zeile server.url=…
auf die neue IP-Adresse anpassen.
Nun können Sie den Postgres-DSS starten und die Schulen werden in der Lage sein, mit dem 1:1 übertragenen Datenbestand sofort weiterzuarbeiten.
Als (ehemaliger) Betreiber einer ASV-School-Instanz waren Sie auch bisher schon für die regelmäßige Datensicherung auf ein externes (Offline-)Medium verantwortlich, um im Ernstfall (Havarie, Befall durch Schadsoftware, …) gewappnet zu sein.
Wie Sie zukünftig Ihrer Pflicht zur Sicherung der Daten Ihrer frischgebackenen PostgreSQL-Installation nachkommen, erfahren Sie hier.
Sie können das Tool hier herunterladen. Es ist für ASV-Versionen ab 25.1 aufwärts geeignet.
Sollten Sie hinsichtlich der Durchführung bzw. des konkreten Ablaufs Fragen haben bzw. Unterstützung benötigen, wenden Sie sich bitte an Ihre zuständige Multiplikatorin bzw. Ihren zuständigen Multiplikator.
Bei technischen Fragen zum Tool als solchem (nicht aber zur Durchführung der Umstellung!) können Sie sich an leonhard.fellermayr@stmuk.bayern.de wenden.