File generation groups are managed with the aid of their group entries. This means that this group entry must be created before file generations can be set up.
The group entry for a file generation group can be created only by means of the CATAL macro or CREATE-FILE-GROUP command. For attributes which are not specified by operands of the macro or command during creation of the group, DMS inserts default values in the group entry. The user can modify the attributes defined in the group entry at any time – at least for disk files.
The DISP operand of the CATAL macro and the OVERFLOW-OPTION operand of the CREATE-FILE-GROUP and MODIFY-FILE-GROUP-ATTRIBUTES commands define what DMS is to do with the “superfluous” old generations when the maximum number of simultaneously cataloged generations is exceeded. The user can, for example, specify that the volumes containing these superfluous generations are to be used for storing new generations. If these volumes are private disks, the new generation is created before the old generation is erased. If storage space is limited, this may mean that the new generation cannot be created, since there is (at the moment) not enough space available.
By default, the catalog entry for the oldest existing generation is deleted.
The group entry created by means of the macro or command defines the save and file protection attributes for all generations of this file generation group. The protection attributes BACL and GUARDS protect both the FGG and each individual file generation – with the exception of tape generations. A caller without write access right cannot create any new file generation in an FGG that is write-protected by these attributes.
The encryption attributes for file encryption are defined uniformly for all generations of a group via the group entry. Here the tape generations are always excluded from file encryption. Only the entire group, not an individual generation, can be converted into encrypted files using ENCRYPT-FILE (see "Preconditions and restrictions for file encryption"). New generations (with the exception of tape generations) are assigned the encryption attributes of the group.
Attribute | Operand in the CATAL | Operand in the |
---|---|---|
Shareability | SHARE=NO/YES/SPECIAL BASACL, | USER-ACCESS=*OWNER-ONLY/ *ALL-USERS/ *SPECIAL BASIC-ACL, |
Write access permission | ACCESS=WRITE/READ | ACCESS=*WRITE/*READ |
Passwords | RDPASS, | READ-PASSWORD, |
Frequency and scope of automatic file backup | BACKUP, | BACKUP-CLASS, |
Automatic data destruction when storage space is released | DESTROY=NO/YES | DESTROY-BY-DELETE |
Monitoring of DMS accesses | AUDIT | AUDIT |
Further fields in the group entry refer to the file generation group as an whole:
the maximum number of simultaneously cataloged generations (MAXIMUM)
the base value for relative generation numbers (BASE-NUM)
the absolute generation numbers of the newest and oldest cataloged generations (LAST-GEN, FIRST-GEN)
The remaining fields in the group entry refer only to accesses to this catalog entry (ACC-COUNT, CRE-DATE, EXPIR-DATE, CHANG-DATE, VERSION).
With respect to file protection attributes, the catalog entries for the file generations are identical with the group entry. The other attributes (HIGH-US-PA, CRE-DATE, etc.) may, however, differ from one generation to another.
Example: group entry and catalog entries for file generations
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
As defined in the group entry, all generations of this FGG are shareable and protected by a read password. However, they differ with regard to the attributes which are not defined in the group entry: ACC-COUNT, CRE-DATE, CHANG-DATE, EXPIR-DATE.