Berechtigung
ADA, Administrator ohne Domänen
Diese Anweisung aktualisiert den MAREN-Katalog bei Inkonsistenzen wie Katalogdefekt, Katalogverlust oder Offline-Logging.
Durch diese Anweisung und den lückenlosen Informationen aus den Logging-Dateien wird der MAREN-Katalog auf den aktuellen Stand gebracht.
Bei Defekt oder Verlust des MAREN-Katalogs ist vorher eine Sicherungsversion desselben einzulesen (wurde evtl. mit COPY-VOLUME-CATALOG zuvor erstellt). Nach einem Offline-Logging kann der bestehende MAREN-Katalog bearbeitet werden.
Zusätzlich können mit der Anweisung UPDATE-MAREN-CATALOG auch Informationen aus einem HSMS-Archiv oder ARCHIVE-Directory in den MAREN-Katalog aufgenommen werden. Dabei können Einträge für noch nicht existierende Bänder erzeugt werden oder die Einträge bereits existierender Bänder aktualisiert werden.
Format
UPDATE-MAREN-CATALOG | Kurzname: UPMC | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operandenbeschreibung
INPUT =
Gibt an, welche Informationen in den MAREN-Katalog übernommen werden sollen.
INPUT = *BY-LOGGING(...)
Der MAREN-Katalog soll mit Daten aus einer oder mehreren Logging-Dateien aktualisiert werden. In der Anweisung müssen die Logging-Dateien aller Systeme des MAREN-Verbundes gleichzeitig angegeben werden. Nur so kann sichergestellt werden, dass Katalogeinträge, die an verschiedenen Systemen bearbeitet wurden, konsistent aktualisiert werden. Dies gilt insbesondere für den Nachtrag von Offline-Logging-Einträgen.
Mit den beiden Operanden START-DATE und START-TIME kann der Zeitpunkt der Sicherung oder Kopie des MAREN-Katalogs oder aber der Zeitpunkt beim Einschalten des Offline-Loggings angegeben werden. Es werden dann nur Logging-Sätze berücksichtigt, die ab diesem Zeitpunkt erstellt wurden. Standardmäßig werden sämtliche Logging-Sätze der angegebenen Logging-Datei(en) ausgewertet.
LOGGING-FILE = list-poss(99): <filename 1..54>
Name einer oder mehrerer ISAM-Dateien, die MAREN-Logging-Sätze enthalten. Bei Angabe mehrerer Dateien werden die Logging-Sätze automatisch während der Verarbeitung sortiert.
START-DATE = 0000-01-01 / <date>
Startdatum in der Form yyyy-mm-dd
.
START-TIME = 00:00:00 / <time>
Startzeit im Format hh[:mm[:ss]]
, wobei bei hh
, mm
und ss
führende Nullen weggelassen werden können.
INPUT = *BY-HSMS(...)
Der MAREN-Katalog soll mit den Daten aus einem HSMS-Archiv aktualisiert werden.
ARCHIVE-NAME = <filename 1..22 without-gen-vers>
Name des HSMS-Archivs.
ENVIRONMENT =
Gibt an, in welcher HSMS-Umgebung das Archiv definiert wurde.
ENVIRONMENT = *STD
Das HSMS-Archiv wurde in der Standardumgebung für DVS-Archive definiert.
ENVIRONMENT = *NODE-STD
Das HSMS-Archiv wurde in der Standardumgebung für Knoten-Archive definiert.
ENVIRONMENT = *SINGLE-FEATURE
Das HSMS-Archiv wurde in der SF-Pubset-Umgebung definiert.
ENVIRONMENT = *SYSTEM-MANAGED(...)
Das HSMS-Archiv wurde in der angegebenen SM-Pubset-Umgebung definiert.
CATALOG-IDENTIFIER = <cat-id 1..4>
Katalogkennung des SM-Pubsets.
ACTION =
Gibt an, wie die Informationen in den MAREN-Katalog übernommen werden sollen.
ACTION = *ADD(...)
Die in dem HSMS-Archiv enthaltenen Archivnummern der Bänder sollen neu in den MAREN-Katalog übernommen werden.
USER-IDENTIFICATION = <name 1..8>
Benutzerkennung, der die Bänder zugeordnet werden.
FREE-POOL =
Gibt an, welchem Freibandpool die Bänder zugeordnet werden.
FREE-POOL = *NO
Die Bänder werden dem Freibandpool *NO zugeordnet.
FREE-POOL = *GLOBAL
Die Bänder werden dem Freibandpool *GLOBAL zugeordnet.
FREE-POOL = *TSOS
Die Bänder werden dem Freibandpool *TSOS zugeordnet.
FREE-POOL = <filename 1..54 without-gen-vers>
Die Bänder werden dem Freibandpool für HSMS/ARCHIVE-Anwendungen unter Verwendung des hier anzugebenden Directories zugeordnet. Befindet sich das Directory nicht unter der eigenen Benutzerkennung, so muss neben der Benutzer- auch noch die Katalogkennung mit angegeben werden.
FREE-POOL = <text 2..32 without-sep>
Name eines bereits existierenden Freibandpools, dem die Bänder zugeordnet werden.
ACCOUNT = *NONE / <alphanum-name 1..8>
Abrechnungsnummer zu der bei USER-IDENTIFICATION angegebenen Benutzerkennung. Bei *NONE wird keine Abrechnungsnummer im Katalogeintrag vermerkt.
FREE-DATE = *STD / <date with-compl> / <integer 0..32767>
Freigabedatum. Bis zu diesem Datum bleibt das Band für die eingetragene Benutzerkennung reserviert. Bei *STD wird das mit MODIFY-MAREN-PARAMETERS eingetragene Standard-Freigabedatum eingetragen.
Wird statt eines Datums eine Ganzzahl eingegeben, so errechnet sich das Freigabedatum durch Addition dieser Zahl auf das Tagesdatum. Sollte das in der Eingabedatei bei der jeweiligen Archivnummer vermerkte EXPIRATION-DATE größer als das angegebene bzw. errechnete Freigabedatum sein, so wird im Katalogeintrag FREE-DATE mit dem Wert von EXPIRATION-DATE besetzt.
HOME-LOCATION = CENTRAL / <alphanum-name 1..8>
Lagerort, an dem das Band standardmäßig aufbewahrt wird.
Standardwert ist CENTRAL, d.h. das Band befindet sich, sofern er nicht gerade verarbeitet wird, im Zentralarchiv.
FREE-LOCATION = CENTRAL / <alphanum-name 1..8>
Lagerort, an dem das Band nach erfolgter Freigabe aufbewahrt wird.
Standardwert ist CENTRAL, d.h. das Band befindet sich, solange er nicht reserviert ist, im Zentralarchiv.
TEMPORARY-LOCATION = CENTRAL / <alphanum-name 1..8>
Lagerort, an dem das Band sich gegenwärtig befindet.
Standardwert ist CENTRAL, d.h. das Band befindet sich derzeit im Zentralarchiv.
INITIALIZATION = *YES / *NO / *ERASE
Angabe, ob das Band nach einer Freigabe initialisiert werden soll.
Standardwert ist *YES, d.h. das Band ist vor einer erneuten Reservierung zu initialisieren. Mit *ERASE soll das Band initialisiert und der Bandinhalt bis zum Bandende gelöscht werden.
USER-ACCESS = *OWNER-ONLY / *FOREIGN-READ-ONLY / *ALL-USERS Angabe, ob auf das Band von fremden Benutzerkennungen nur lesend (FOREIGN-READ-ONLY) oder auch schreibend (ALL-USER) zugegriffen werden kann. Standardwert ist OWNER-ONLY, d.h. von fremden Benutzerkennungen aus sind keinerlei Zugriffe möglich.
ACTION = *MODIFY(...)
Die in dem HSMS-Archiv enthaltenen Archivnummern der Bänder sollen im MAREN-Katalog aktualisiert werden, falls der Katalogeintrag dort bereits existiert.
Die Angaben zu den Operanden USER-IDENTIFICATION, FREE-POOL, ACCOUNT, FREE-DATE, HOME-LOCATION, FREE-LOCATION, TEMPORARY-LOCATION, INITIALIZATION und USER-ACCESS werden in den Katalog übernommen, falls ein Wert ungleich dem Standardwert *UNCHANGED angegeben wird. Zur Beschreibung dieser Operanden siehe ACTION=*ADD(...).
EXPIRATION-DATE = *FROM-HSMS / *UNCHANGED
Gibt an, ob das Verfallsdatum eines Bandes aus dem HSMS-Archiv in den jeweiligen MAREN-Katalogeintrag übernommen werden soll. Das Verfallsdatum wird nur dann übernommen, wenn es kleiner als das im Katalog eingetragene Verfalldatum ist. Wenn das der Fall ist, wird im Katalogeintrag auch vermerkt, dass das Band vor einer erneuten Reservierung initialisiert werden soll.
INPUT = *BY-ARCHIVE(...)
Der MAREN-Katalog soll mit den Daten aus einem ARCHIVE-Directory aktualisiert werden.
INQUIRE-LIST = <filename 1..54 without-gen-vers>
Name einer ARCHIVE-Eingabedatei mit allen Katalogeinträge des ARCHIVE-Directories. Diese Eingabedatei muss mit der ARCHIVE-Anweisung INQUIRE erstellt werden.
ACTION =
Gibt an, wie die Informationen in den MAREN-Katalog übernommen werden sollen.
ACTION = *ADD(...)
Die in dem ARCHIVE-Directory enthaltenen Archivnummern der Bänder sollen neu in den MAREN-Katalog übernommen werden.
USER-IDENTIFICATION = <name 1..8>
Benutzerkennung, der die Bänder zugeordnet werden.
FREE-POOL =
Gibt an, welchem Freibandpool die Bänder zugeordnet werden.
FREE-POOL = *NO
Die Bänder werden dem Freibandpool *NO zugeordnet.
FREE-POOL = *GLOBAL
Die Bänder werden dem Freibandpool *GLOBAL zugeordnet.
FREE-POOL = *TSOS
Die Bänder werden dem Freibandpool *TSOS zugeordnet.
FREE-POOL = <filename 1..54 without-gen-vers>
Die Bänder werden dem Freibandpool für HSMS/ARCHIVE-Anwendungen unter Verwendung des hier anzugebenden Directories zugeordnet. Befindet sich das Directory nicht unter der eigenen Benutzerkennung, so muss neben der Benutzer- auch noch die Katalogkennung mit angegeben werden.
FREE-POOL = <text 2..32 without-sep>
Name eines bereits existierenden Freibandpools, dem die Bänder zugeordnet werden.
ACCOUNT = *NONE / <alphanum-name 1..8>
Abrechnungsnummer zu der bei USER-IDENTIFICATION angegebenen Benutzerkennung. Bei *NONE wird keine Abrechnungsnummer im Katalogeintrag vermerkt.
FREE-DATE = *STD / <date with-compl> / <integer 0..32767>
Freigabedatum. Bis zu diesem Datum bleibt das Band für die eingetragene Benutzerkennung reserviert. Bei *STD wird das mit MODIFY-MAREN-PARAMETERS eingetragene Standard-Freigabedatum eingetragen.
Wird statt eines Datums eine Ganzzahl eingegeben, so errechnet sich das Freigabedatum durch Addition dieser Zahl auf das Tagesdatum. Sollte das in der Eingabedatei bei der jeweiligen Archivnummer vermerkte EXPIRATION-DATE größer als das angegebene bzw. errechnete Freigabedatum sein, so wird im Katalogeintrag FREE-DATE mit dem Wert von EXPIRATION-DATE besetzt.
HOME-LOCATION = CENTRAL / <alphanum-name 1..8>
Lagerort, an dem das Band standardmäßig aufbewahrt wird.
Standardwert ist CENTRAL, d.h. das Band befindet sich, sofern er nicht gerade verarbeitet wird, im Zentralarchiv.
FREE-LOCATION = CENTRAL / <alphanum-name 1..8>
Lagerort, an dem das Band nach erfolgter Freigabe aufbewahrt wird.
Standardwert ist CENTRAL, d.h. das Band befindet sich, solange er nicht reserviert ist, im Zentralarchiv.
TEMPORARY-LOCATION = CENTRAL / <alphanum-name 1..8>
Lagerort, an dem das Band sich gegenwärtig befindet.
Standardwert ist CENTRAL, d.h. das Band befindet sich derzeit im Zentralarchiv.
INITIALIZATION = *YES / *NO / *ERASE
Angabe, ob das Band nach einer Freigabe initialisiert werden soll.
Standardwert ist *YES, d.h. das Band ist vor einer erneuten Reservierung zu initialisieren. Mit *ERASE soll das Band initialisiert und der Bandinhalt bis zum Bandende gelöscht werden.
USER-ACCESS = *OWNER-ONLY / *FOREIGN-READ-ONLY / *ALL-USERS Angabe, ob auf das Band von fremden Benutzerkennungen nur lesend (FOREIGN-READ-ONLY) oder auch schreibend (ALL-USER) zugegriffen werden kann. Standardwert ist OWNER-ONLY, d.h. von fremden Benutzerkennungen aus sind keinerlei Zugriffe möglich.
ACTION = *MODIFY(...)
Die in dem Directory enthaltenen Archivnummern der Bänder sollen im MAREN-Katalog aktualisiert werden, falls der Katalogeintrag dort bereits existiert.
Die Angaben zu den Operanden USER-IDENTIFICATION, FREE-POOL, ACCOUNT, FREE-DATE, HOME-LOCATION, FREE-LOCATION, TEMPORARY-LOCATION, INITIALIZATION und USER-ACCESS werden in den Katalog übernommen, falls ein Wert ungleich dem Standardwert *UNCHANGED angegeben wird. Zur Beschreibung dieser Operanden siehe ACTION=*ADD(...).
EXPIRATION-DATE = *FROM-ARCHIVE / *UNCHANGED
Gibt an, ob das Verfallsdatum eines Bandes aus dem Directory in den jeweiligen MAREN-Katalogeintrag übernommen werden soll. Das Verfallsdatum wird nur dann übernommen, wenn es kleiner als das im Katalog eingetragene Verfalldatum ist. Wenn das der Fall ist, wird im Katalogeintrag auch vermerkt, dass das Band vor einer erneuten Reservierung initialisiert werden soll.
Katalogaktualisierung mit Logging-Dateien
Da die Anweisung direkt auf den MAREN-Katalog zugreift, kann sie unter jeder Benutzerkennung ausgeführt werden, von der ein direkter Zugriff auf den MAREN-Katalog möglich ist.
Es wird der MAREN-Katalog aktualisiert, der der MARENCP-Task über den Dateikettungsnamen MARENCAT zugewiesen wurde.
Die über den Operanden LOGGING-FILE spezifizierten Dateien müssen das Datei- und Satzformat besitzen, wie es bei den Logging-Dateien beschrieben ist.
Grundsätzlich können auch alte Logging-Dateien beim Update des MAREN-Katalogs verarbeitet werden. Voraussetzung für einen ordnungsgemäßen Update des MAREN-Katalogs ist jedoch, dass alle verarbeiteten Logging-Dateien konsistent sind. Es darf keine Datei vergessen werden. Die Angabe des genauen Zeitpunkts der Sicherung des MAREN-Katalogs oder des Zeitpunkts der Einschaltung des Offline-Loggings ist trotzdem sinnvoll, um zu vermeiden, dass überflüssige Logging-Sätze mitverarbeitet werden.
Zu Beginn dieser Anweisung wird implizit die MARENADM-Anweisung CLOSE-MAREN-FILES durchgeführt, um alle Benutzerzugriffe auf den MAREN-Katalog vorübergehend zu unterbinden. Da die Anweisung CLOSE-MAREN-FILES nur am eigenen System wirksam ist, muss sie auch für alle anderen Systeme eingegeben werden, die denselben MAREN-Katalog verwenden.
Außerdem müssen alle anderen MARENADM-Programmläufe beendet werden, die den MAREN-Katalog im Direktzugriff geöffnet haben.
Nach Beendigung des Updates muss sowohl für das eigene System als auch für alle anderen Systeme, an denen zuvor CLOSE-MAREN-FILES eingegeben wurde, die gesetzte Katalogsperre mit der Anweisung OPEN-MAREN-FILES wieder aufgehoben werden. Dies kann durch Angabe des Operanden HOST-NAME=*ALL erfolgen.Falls für einen Katalogeintrag mehrere Logging-Sätze existieren, wird nur mit dem zeitlich letzten (also jüngsten) der MAREN-Katalog aktualisiert. Bei MAREN-Betrieb mit mehreren Systemen ist es somit erforderlich, dass die einzelnen Uhrzeiten der Systeme möglichst synchron eingestellt sind.
Die während des Offline-Logging erstellten Logging-Sätze werden ebenfalls ausgewertet.
Abschließend wird eine Meldung mit der Anzahl der aktualisierten Katalogeinträge ausgegeben.
Im shared Modus sollte die UPDATE-MAREN-CATALOG-Anweisung aus Performancegründen nur am System mit dem MAREN-Katalog durchgeführt werden.
Soll die Anweisung von einem remote System des MAREN-Verbundes ausgeführt werden, das keinen direkten Zugriff auf den MAREN-Katalog besitzt, muss vorher über das Kommando SET-RFA-CONNECTION eine Verbindung zu dem System mit dem MAREN-Katalog hergestellt werden.
Während des Update-Vorgangs werden keine neuen Logging-Sätze erzeugt.
Katalogaktualisierung aus HSMS-Archiv oder ARCHIVE-Directory
Bandeinträge aus einem HSMS-Archiv oder aus einem ARCHIVE-Directory können neu in den MAREN-Katalog übernommen werden oder dort bereits bestehende Einträge aktualisieren. Bei einem HSMS-Archiv übernimmt MAREN die Einträge direkt (Angabe im Operanden ARCHIVE-NAME). Im Falle eines ARCHIVE-Directories müssen die Einträge als Datei, in Form einer zuvor mit ARCHIVE erstellten INQUIRE-Liste vorliegen (Angabe im Operanden INQUIRE-LIST).
Neuaufnahme (ACTION=*ADD)
Alle in dem angegebenen HSMS-Archiv bzw. in der ARCHIVE-INQUIRE-Liste enthaltenen Bänder werden neu in den MAREN-Katalog aufgenommen (ACTION=*ADD ist voreingestellt). Für die Belegung der einzelnen Katalogeintragsfelder werden Informationen aus folgenden Quellen herangezogen:
HSMS-Archiv oder ARCHIVE-INQUIRE-Liste
Daraus werden folgende Katalogeintragsfelder belegt:
Katalogeintragsfeld
Bedeutung
VOLUME
Archivnummer des Bandes
DEVICE-TYPE
Gerätetyp
CREATION-DATE
Datum der Dateierstellung (aus SVID, falls vorhanden)
CREATION-TIME
Uhrzeit der Dateierstellung (aus SVID, falls vorhanden)
EXPIRATION-DATE
Reservierungsdauer des Bandes, falls SVID mit RETPD versehen,
sonst Wert aus CREATION-DATEVom Benutzer eingegebene Operandenwerte (bzw. deren Standardwerte)
Neben dem Namen des HSMS-Archivs bzw. der ARCHIVE-INQUIRE-Liste ist bei einer Neuaufnahme die Angabe des Operanden USER-IDENTIFICATION zwingend erforderlich.
Wenn die im HSMS-Archiv bzw. in der ARCHIVE-INQUIRE-Liste als EXPIRATION-DATE ausgewiesene Reservierungsdauer des Bandes größer ist als das im Operanden FREE-DATE angegebene Datum, so wird FREE-DATE mit dem Wert von EXPIRATION-DATE besetzt.
Standardwerte von MAREN
Es wird z.B. der VOLUME-STATUS auf RESERVED gesetzt und das Katalogeintragsfeld RESERVATION-DATE mit dem Tagesdatum versorgt.
Beim Einsatz von Domänen werden alle Bänder in die eigene Domäne aufgenommen.
Wenn zu einer Archivnummer bereits ein Katalogeintrag existiert, überprüft MAREN, ob die Katalogeintragsfelder, die den einzelnen Operanden (z.B. USER-ACCESS) zugeordnet sind, mit den vom Aufrufer angegebenen Werten (bzw. den Standardwerten) belegt sind:
Wenn alle Katalogeintragsfelder mit den angegebenen Operanden (bzw. deren Standardwerten) übereinstimmen, wird die Verarbeitung mit der nächsten Archivnummer fortgesetzt. Damit soll gewährleistet werden, dass die Neuaufnahme nach einem Abbruch wieder aufgesetzt werden kann (Restart-Fähigkeit).
Wenn mindestens eines der Katalogeintragsfelder nicht mit den angegebenen Operanden (bzw. deren Standardwerten) übereinstimmt, wird die Ausführung abgebrochen.
Sobald das beanstandete Katalogeintragsfeld mit MODIFY-VOLUME-ATTRIBUTES korrigiert wurde, kann diese Neuaufnahme mit UPDATE-MAREN-CATALOG fortgesetzt werden.
MAREN protokolliert jeden neu aufgenommenen Katalogeintrag und gibt abschließend eine Summenzeile aus.
Modifizieren (ACTION=*MODIFY)
Für alle in dem angegebenen HSMS-Archiv bzw. in der ARCHIVE-INQUIRE-Liste enthaltenen Bänder werden die dazugehörigen Katalogeinträge im MAREN-Katalog aktualisiert.
Bei Operanden mit dem Wert *UNCHANGED bleibt das entsprechende Katalogeintragsfeld unverändert.
Die Ausführung wird in folgenden Fällen abgebrochen:
Zu einer Archivnummer existiert kein Katalogeintrag im MAREN-Katalog.
Das Band besitzt einen VOLUME-STATUS ungleich RESERVED.
Im Operanden FREE-POOL wurde ein ARCHIVE-Directory angegeben und einer der Katalogeinträge enthält einen anderen Directory-Namen.
MAREN protokolliert jeden modifizierten Katalogeintrag und gibt abschließend eine Summenzeile aus.
Beispiele
Beispiel 1
Der MAREN-Katalog wird mit den Informationen aus der Logging-Datei MAREN.LOGGING aktualisiert:
//upd-mar-cat log-file=maren.logging
|
Beispiel 2
In einem Data Center sind alle drei Systeme zu einem MAREN-Verbund im shared Modus zusammengeschlossen. Wegen eines Plattenfehlers wurde der MAREN-Katalog zerstört. Da die Logging-Dateien auf anderen Platten eingerichtet wurden, sind diese noch vorhanden. Aus dem Vortags-Sicherungsstand des MAREN-Katalogs und den Logging-Dateien soll nun wieder ein aktueller MAREN-Katalog erstellt werden.
Nach dem Hochfahren der MARENCP-Task mit dem MAREN-Katalog vom Vortag wird die Aktualisierung eingeleitet:
//upd-mar-cat input=*by-log(log-file=maren.logging.system1,
maren.logging.system2,maren.logging.system3)
Beispiel 3
Aus dem ARCHIVE-Directory ARCHIVE.DIR soll eine Eingabedatei für die Katologaktualisierung erstellt werden:
/assign-syslst to=lst.inquire.archive.dir |
Der Name der so erzeugten Datei (hier LST.INQUIRE.ARCHIVE.DIR
) wird im Operanden INQUIRE-LIST angegeben:
/start-marenadm |