Die Logging-Dateien haben folgende Dateistruktur:
ACCESS-METHOD=ISAM,RECORD-FORMAT=V,KEY-POSITION=5,KEY-LENGTH=32
Der ISAM-Schlüssel besteht aus Archiv- und Dateifolgenummer, Datum, Uhrzeit und Katalogkennung. Damit ist die Eindeutigkeit der Logging-Sätze auch dann gewährleistet, wenn mehrere Logging-Dateien von verschiedenen Systemen zusammengefasst werden.
Nach dem ISAM-Schlüssel wird der komplette, aktualisierte Katalogeintrag protokolliert. Dessen Länge ist vom Format des MAREN-Katalogs abhängig. Die Länge der Logging-Sätze beträgt 1050 Bytes.
Sofern nicht in der Startprozedur für das Steuerprogramm MARENCP bei der Zuweisung der Logging-Datei eine andere Blockgröße angegeben wurde, wird die Logging-Datei mit BUFFER-LENGTH=STD(1) angelegt.
Ausnahme: Auf einer NK4-Platte wird die Logging-Datei mit BUFFER-LENGTH=STD(2) angelegt.
Satzstruktur der Logging-Datei
Länge in Bytes | Bezeichnung / Wertebereich / Bedeutung | |
4 | Satzlängenfeld | |
6 | Archivnummer |
|
4 | Dateifolgenummer | |
10 | Datum (yyyy-mm-dd ) | |
8 | Uhrzeit (hh:mm:ss ) | |
4 | Vierstellige Katalogkennung des Home-Pubsets desjenigen Systems, von dem die Änderung des Katalogeintrags ausging. | |
1014 | Kompletter, bereits aktualisierter Katalogeintrag. |
Durch Einschalten des system-spezifischen MAREN-Parameters LOGGING kann bewirkt werden, dass bei jeder Veränderung eines Katalogeintrags ein Satz in eine Logging-Datei geschrieben werden soll.
Aus Performance-Gründen und zur Erhöhung der Verfügbarkeit und Datensicherheit wird an jedem System eine eigene Logging-Datei geführt. Falls in der Dateizuweisung für die Logging-Datei der Operand SHARED-UPDATE=*YES angegeben wurde, kann mit der MARENADM-Anweisung SHOW-MAREN-FILE auf die aktuelle Logging-Datei zugegriffen werden.
Veränderungen der MAREN-Parameter, z.B. über die Anweisung MODIFY-MAREN-PARAMETERS, werden ebenfalls in die Logging-Datei übernommen.
Variable Blockgröße für die MAREN-Logging-Datei
Wird in der MARENCP-Startprozedur eine Logging-Datei zugewiesen, so kann mithilfe des Kommandos ADD-FILE-LINK über den Operanden BUFFER-LENGTH=*STD(SIZE=n) eine von der Standardblockung abweichende Blockgröße vergeben werden. Dabei ist darauf zu achten, dass in der Dateizuweisung ein ausreichend großer Speicherplatz reserviert wird: Bei einem Blockungsfaktor von n muss die Primärzuweisung (PRIMARY-ALLOCATION) bei K-ISAM mindestens 2n+1, bei NK-ISAM mindestens 2n+2 und die Sekundärzuweisung (SECONDARY-ALLOCATION) jeweils mindestens n betragen.
Wird später während des laufenden MAREN-Betriebs mithilfe der MARENADM-Anweisung CHANGE-LOGGING-FILE eine neue Logging-Datei eröffnet, so wird diese mit demselben Blockungsfaktor und derselben Sekundärzuweisung wie die zuvor erstellte Logging-Datei, sowie einer ausreichend großen Primärzuweisung angelegt.
Falls die neue Logging-Datei auf einem NK4-Pubset angelegt wird, so muss die alte Logging-Datei eine geradzahlige Blockgröße, z.B. STD(2) aufweisen. Andernfalls beendet sich MARENCP abnormal.
MAREN-Katalog aktualisieren
Mithilfe der MARENADM-Anweisung UPDATE-MAREN-CATALOG und den lückenlosen Informationen aus den Logging-Dateien kann der MAREN-Katalog bei Inkonsistenzen oder Defekt auf den aktuellen Stand gebracht oder rekonstruiert werden, siehe Abschnitt „Katalogverlust“.