de:app:020cor:140mis:0150sysfdb

Migration von Files vom Server zur DB

Transaktion SYSFDB

DOKA-NG speichert Informationen in der Datenbank, aber zusätzlich auch in sequentiellen Dateien im Dateisystem. Dabei gibt es verschiedene Gruppen von Dateien:

Logs (System- und Änderungslogs) Interface Files Transaktionsdaten (Displayfiles, TRNDATA, Dokumente) Configuration (INI) Files

Es ist möglich, diese Dateien mit wenigen technisch bedingten Ausnahmen als sogenannte BLOBS in der Datenbank zu speichern. Es kann separat entschieden werden, ob INI Files im Filesystem oder in der Datenbank liegen, wobei die zum Starten von DOKA-NG benötigte Konfig IMMER im Filesystem liegen muß. Für Interface Dateien kann ebenfalls programmtechnisch einzeln entschieden werden, ob diese im Filesystem oder in der Datenbank gespeichert werden sollen. Der Vorteil von Files in Datenbank liegt darin, daß verteilt liegende DOKA-NG Installationen auf eine gemeinsame Datenbank zugreifen können und kein separat liegendes “gemeinsames” Filesystem verwaltet werden muß.

Mit dieser Transaktion können Datenbestände aus dem Server-Filesystem in das “Files-in-Datenbank”-System migriert werden.

Vorgesehen ist das Migrieren der

  • data (Dokumente und Nachrichten)
  • ini (Konfiguration)
  • template (Reports)

Partitionen. Anpassungen sind auf Projektniveau möglich.

Diese Transaktion ist dazu vorgesehen, im Vorfeld einer Migration auf ein “File-in-Datenbank”-System einen evtl. sehr großen Bestand (mehrere hundert GB) inkrementell im Laufe auch mehrerer Tage oder Wochen vor der eigentlichen Migration des Systems zu übernehmen.

Dies ist möglich, da der größte Teil dieser Daten im laufenden Betrieb nicht mehr modifiziert wird, sondern den historischen Bestand zu Informationszwecken enthält. Die Transaktion kann z.B. Wochen vor der Aktivierung von “Files-in-Datenbank” im Produktionsbetrieb jeden Abend um 20h00 für 10 Stunden (600 Minuten) gestartet werden. Ein letzter Start nach Schließen des Systems vor der endgültigen Umstellung stellt sicher, dass danach im DB-Filesystem eine aktuelle Kopie des Dateibestandes vorliegt.

Intern wird bei dem Start der Transaktion eine komplette Liste aller zu kopierenden Dateien erstellt, diese wird nach Timpstamp der Dateien sortiert und dann werden die Dateien nach Timestamp aufsteigend kopiert.

Die Transaktion kann im Vordergrund oder im Hintergrund gestartet werden. In der Konfigurationsdatei sysfdb.ini wird im Eintrag “Runtim” der Section [Configuration] gespeichert, wie lange die Transaktion jeweils nach einem Start Dateien migrieren soll. Nach Ablauf dieser Zeit beendet die Transaktion das Kopieren.

Der jeweilige Fortschritt der Migration wird als Zeitpunkt des letzten Modification-Timestamps in der Konfigurationsdatei gespeichert, bis zu dem alle Dateien migriert wurden.

Die Datei ini/sysfdb.ini wird bei interaktivem Start von SYSFDB von dieser Transaktion versorgt (also z.B. die Laufzeit in Minuten dort gespeichert).

Die Datei muss nur dann mit einem Editor (z.B. SYSIXU) bearbeitet werden, wenn SYSFDB ohne interaktiven Start konfiguriert werden soll oder wenn der “Timestamp vom letzten” Kopieren zu Testzwecken geändert werden soll.

Einzelne Verzeichnisse (z.B. solche die weiterhin im Filesystem verbleiben oder aus früheren Migrationen stammen und nicht mehr benötigt werden) oder einzelne Dateien (die z.B. nie aus der Datenbank verwendet werden und deren Existenz dort zur Verwirrung führen kann) können ausgeschlossen werden.

Verzeichnisse müssen in dieser Liste durch einen Pfaddelimiter ('/')am Ende gekennzeichnet werden. Die Einträge werden in sysfdb.ini, Section [ExcludeList] als Block gespeichert, z.B.

[ExcludeList]
Path1=/dok2host/
Path2=/host2dok/
Path3=/td2.env

SYSFDB vergleicht beim internen Erstellen der Kopierliste, ob die angegebenen Pfadstücke Postfix eines Pfadnamens sind. Führende Delimiter ('/') in den Namen bezeichnen hier also keine absoluten Pfadnamen.

Verzeichnisinhalte, die mittels der Transaktion SYSZIP in .zip Dateien komprimiert wurden, werden jeweils als Einzeldateien extrahiert und unter den Einzelnamen ins DB-Filesystem übernommen. Es wird davon ausgegangen, dass die Inhalte der CLOBs in der SYF Tabelle von der Datenbank ggf. geeignet komprimiert gespeichert werden.

SYSFDB lässt alle Dateien (.zip und andere) im Filesystem unverändert (sonst wäre der Parallelbetrieb im Produktionssystem nicht möglich). Nur die von SYSFDB temporär beim Extrahieren aus .zip Dateien erzeugten Dateien werden von SYSFDB auch wieder gelöscht.

Weiteres zum Thema “File-in-Datenbank” ist in der TradeDesign-Dokumentation im Abschnitt “Files in Database” zu finden.

Transaktions-Panels

Dateihantierung




de/app/020cor/140mis/0150sysfdb.txt · Last modified: 2022/12/01 15:51 by dm