Dateigenerationsgruppen werden über ihren Gruppeneintrag verwaltet. Bevor Dateigenerationen erstellt werden können, muss zunächst dieser Gruppeneintrag eingerichtet werden.
Der Gruppeneintrag für eine Dateigenerationsgruppe kann mit dem Makro CATAL bzw. mit dem Kommando CREATE-FILE-GROUP erstellt werden. Für die Eigenschaften, die beim Erstellen nicht über die entsprechenden Operanden im Makro- oder Kommandoaufruf versorgt werden, übernimmt das DVS eine Voreinstellung in den Katalogeintrag. Der Benutzer kann die im Gruppeneintrag festgelegten Eigenschaften – zumindest für Plattendateien – später jederzeit ändern.
Der Operand DISP des Makros CATAL bzw. der Operand OVERFLOW-OPTION der Kommandos CREATE-FILE-GROUP und MODIFY-FILE-GROUP-ATTRIBUTES legt fest, wie das DVS beim Erreichen der Maximalzahl gleichzeitig katalogisierter Generationen mit den dann „überzähligen“ ältesten Generationen verfährt. So kann z.B. bestimmt werden, dass die Datenträger der überzähligen Generationen für die Speicherung der neuen Generationen verwendet werden. Bei Dateien auf Privatplatten wird zuerst die neue Generation erstellt, bevor die alte Generation gelöscht wird. Bei Speicherplatzmangel kann dieses Verhalten dazu führen, dass die neue Generation nicht angelegt werden kann, wenn (noch) nicht genügend Speicherplatz frei ist.
Standardmäßig wird jeweils der Katalogeintrag der ältesten Generation gelöscht.
Über den Gruppeneintrag werden im Makro- und Kommandoaufruf für alle Generationen der Dateigenerationsgruppe die Dateisicherungs- und Dateischutzmerkmale festgelegt. Die Schutzattribute BACL und GUARDS schützen sowohl die FGG, als auch jede einzelne Dateigeneration, mit der Ausnahme von Bandgenerationen. In einer mit diesen Attributen schreibgeschützten FGG kann ein Aufrufer ohne Schreibrecht keine neuen Dateigenerationen anlegen.
Auch die Verschlüsselungsmerkmale bei Dateiverschlüsselung werden über den Gruppeneintrag einheitlich für alle Generationen einer Gruppe festgelegt. Dabei sind die Bandgenerationen stets von einer Dateiverschlüsselung ausgenommen. Nur die ganze Gruppe, nicht eine einzelne Generation kann mit ENCRYPT-FILE (siehe "Voraussetzungen und Einschränkungen für Dateiverschlüsselung") in verschlüsselte Dateien umgewandelt werden. Neue Generationen (ausgenommen Bandgenerationen) erhalten die Verschlüsselungsmerkmale der Gruppe.
Merkmal | Operand im Makro CATAL | Operand in den Kommandos |
---|---|---|
Mehrbenutzbarkeit | SHARE=NO/YES/SPECIAL BASACL, | USER-ACCESS=*OWNER-ONLY/ *ALL-USERS/ *SPECIAL BASIC-ACL, |
Zulässigkeit von Schreibzugriff | ACCESS=WRITE/READ | ACCESS=*WRITE/*READ |
Kennwörter | RDPASS, | READ-PASSWORD, |
Häufigkeit und Umfang der autom. Dateisicherung | BACKUP, | BACKUP-CLASS, |
autom. Datenzerstörung bei Speicherplatzfreigabe | DESTROY=NO/YES | DESTROY-BY-DELETE |
Überwachung der DVS-Zugriffe | AUDIT | AUDIT |
Weitere Felder des Gruppeneintrags beziehen sich auf die Dateigenerationsgruppe als Ganzes:
Maximalzahl gleichzeitig katalogisierter Generationen (MAXIMUM)
Bezugswert für relative Generationsnummern (BASE-NUM)
absolute Generationsnummer der jüngsten und ältesten katalogisierten Generation (LAST-GEN, FIRST-GEN)
Die übrigen Felder des Gruppeneintrags beziehen sich nur auf Zugriffe auf diesen Katalogeintrag (ACC-COUNT, CRE-DATE, EXPIR-DATE, CHANG-DATE, VERSION).
Die Katalogeinträge der Dateigenerationen sind also in Bezug auf die Dateisicherungsmerkmale mit dem Gruppeneintrag identisch. In den übrigen Eigenschaften können sie voneinander abweichen (HIGH-US-PA, CRE-DATE usw.).
Beispiel: Gruppeneintrag und Katalogeinträge von Dateigenerationen
/show-file-attr max.group.2,information=all,select=by-attr(generation=yes)
0000000000 :2OS6:$ULR.MAX.GROUP.2 (FGG) ------------------------------- HISTORY ----------------------------- CRE-DATE = 2014-10-12 ACC-DATE = NONE CHANG-DATE = NONE CRE-TIME = 14:08:14 ACC-TIME = NONE CHANG-TIME = NONE ACC-COUNT = 0 S-ALLO-NUM = 0 ------------------------------- SECURITY ----------------------------- READ-PASS = YES WRITE-PASS = NONE EXEC-PASS = NONE USER-ACC = ALL-USERS ACCESS = WRITE ACL = NO AUDIT = NONE FREE-DEL-D = *NONE EXPIR-DATE = 2014-10-12 DESTROY = NO FREE-DEL-T = *NONE EXPIR-TIME = 00:00:00 SP-REL-LOCK= NO ENCRYPTION = *NONE ------------------------------- BACKUP ----------------------------- BACK-CLASS = A SAVED-PAG = COMPL-FILE VERSION = 0 MIGRATE = ALLOWED #BACK-VERS = 0 ------------------------------- GENERATION-INFO -------------------------- MAXIMUM = 3 BASE-NUM = 11 OVERFL-OPT = CYCL-REPL FIRST-GEN = 11 LAST-GEN = 13 0000000024 :2OS6:$ULR.MAX.GROUP.2(*0011) ------------------------------- HISTORY ----------------------------- CRE-DATE = 2014-10-12 ACC-DATE = 2014-10-12 CHANG-DATE = 2014-10-12 CRE-TIME = 14:11:44 ACC-TIME = 14:11:44 CHANG-TIME = 14:11:44 ACC-COUNT = 1 S-ALLO-NUM = 0 ------------------------------- SECURITY ----------------------------- READ-PASS = YES WRITE-PASS = NONE EXEC-PASS = NONE USER-ACC = ALL-USERS ACCESS = WRITE ACL = NO AUDIT = NONE FREE-DEL-D = *NONE EXPIR-DATE = 2014-10-12 DESTROY = NO FREE-DEL-T = *NONE EXPIR-TIME = 00:00:00 SP-REL-LOCK= NO ENCRYPTION = *NONE ------------------------------- BACKUP ----------------------------- BACK-CLASS = A SAVED-PAG = COMPL-FILE VERSION = 1 MIGRATE = ALLOWED #BACK-VERS = 0 ------------------------------- ORGANIZATION ----------------------------- FILE-STRUC = PAM BUF-LEN = STD(1) BLK-CONTR = PAMKEY IO(USAGE) = READ-WRITE IO(PERF) = STD DISK-WRITE = IMMEDIATE AVAIL = *STD WORK-FILE = *NO F-PREFORM = *K S0-MIGR = *ALLOWED ------------------------------- ALLOCATION ----------------------------- SUPPORT = PUB S-ALLOC = 34 HIGH-US-PA = 4 EXTENTS VOLUME DEVICE-TYPE EXTENTS VOLUME DEVICE-TYPE 2 6VS1.0 D3435 NUM-OF-EXT = 2 0000000024 :2OS6:$ULR.MAX.GROUP.2(*0012) ------------------------------- HISTORY ----------------------------- CRE-DATE = 2014-10-12 ACC-DATE = 2014-10-12 CHANG-DATE = 2014-10-12 CRE-TIME = 14:16:00 ACC-TIME = 14:16:00 CHANG-TIME = 14:16:00 ACC-COUNT = 1 S-ALLO-NUM = 0 ------------------------------- SECURITY ----------------------------- READ-PASS = YES WRITE-PASS = NONE EXEC-PASS = NONE USER-ACC = ALL-USERS ACCESS = WRITE ACL = NO AUDIT = NONE FREE-DEL-D = *NONE EXPIR-DATE = 2014-10-12 DESTROY = NO FREE-DEL-T = *NONE EXPIR-TIME = 00:00:00 SP-REL-LOCK= NO ENCRYPTION = *NONE ------------------------------- BACKUP ----------------------------- BACK-CLASS = A SAVED-PAG = COMPL-FILE VERSION = 1 MIGRATE = ALLOWED #BACK-VERS = 0 ------------------------------- ORGANIZATION ----------------------------- FILE-STRUC = SAM BUF-LEN = STD(1) BLK-CONTR = PAMKEY IO(USAGE) = READ-WRITE IO(PERF) = STD DISK-WRITE = IMMEDIATE REC-FORM = (V,N) REC-SIZE = 0 AVAIL = *STD WORK-FILE = *NO F-PREFORM = *K S0-MIGR = *ALLOWED ------------------------------- ALLOCATION ----------------------------- SUPPORT = PUB S-ALLOC = 9 HIGH-US-PA = 1 EXTENTS VOLUME DEVICE-TYPE EXTENTS VOLUME DEVICE-TYPE 2 6VS1.0 D3435 NUM-OF-EXT = 2 0000000024 :2OS6:$ULR.MAX.GROUP.2(*0013) ------------------------------- HISTORY ----------------------------- CRE-DATE = 2014-10-12 ACC-DATE = 2014-10-12 CHANG-DATE = 2014-10-12 CRE-TIME = 14:16:04 ACC-TIME = 14:16:05 CHANG-TIME = 14:16:05 ACC-COUNT = 1 S-ALLO-NUM = 0 ------------------------------- SECURITY ----------------------------- READ-PASS = YES WRITE-PASS = NONE EXEC-PASS = NONE USER-ACC = ALL-USERS ACCESS = WRITE ACL = NO AUDIT = NONE FREE-DEL-D = *NONE EXPIR-DATE = 2014-10-12 DESTROY = NO FREE-DEL-T = *NONE EXPIR-TIME = 00:00:00 SP-REL-LOCK= NO ENCRYPTION = *NONE ------------------------------- BACKUP ----------------------------- BACK-CLASS = A SAVED-PAG = COMPL-FILE VERSION = 1 MIGRATE = ALLOWED #BACK-VERS = 0 ------------------------------- ORGANIZATION ----------------------------- FILE-STRUC = SAM BUF-LEN = STD(1) BLK-CONTR = PAMKEY IO(USAGE) = READ-WRITE IO(PERF) = STD DISK-WRITE = IMMEDIATE REC-FORM = (V,N) REC-SIZE = 0 AVAIL = *STD WORK-FILE = *NO F-PREFORM = *K S0-MIGR = *ALLOWED ------------------------------- ALLOCATION ----------------------------- SUPPORT = PUB S-ALLOC = 9 HIGH-US-PA = 1 EXTENTS VOLUME DEVICE-TYPE EXTENTS VOLUME DEVICE-TYPE 2 6VS1.1 D3435 NUM-OF-EXT = 2 :2OS6: PUBLIC: 4 FILES RES= 72 FRE= 66 REL= 60 PAGES
Wie im Gruppeneintrag festgelegt, sind alle Generationen dieser FGG mehrbenutzbar und durch ein Lesekennwort geschützt. Sie unterscheiden sich jedoch in den Eigenschaften, die nicht über den Gruppeneintrag festgelegt werden: ACC-COUNT, CRE-DATE, CHANG-DATE, EXPIR-DATE.