DFSMS, z/OS System Managed Storage - Management Class
Management classes are used to determine backup and migration requirements. This is a definite area where you can either install a simple system managed by your users, or you can make your life difficult and do it all yourself. There are a lot of Storage Managers out there who are uncomfortable with the concept of letting the users decide what class of service a file gets. However, if you decide not to let your users pick their own management classes, you end up with large filtlists, and complicated logic in the Management Class ACS routine. If you get it wrong, and files are deleted too early, or backups not kept long enough, its YOUR fault. If you supply your users with good documentation and procedures, and they allocate a file with the wrong class, its their fault.
Here's an example of how it could be done.
Parameter STANBK STANBK7 STANBK14
--------- -------- ------- --------
Expire Non-Usage............. NOLIMIT NOLIMIT NOLIMIT
Expire Date/Days............. NOLIMIT NOLIMIT NOLIMIT
Max Retion Period............ NOLIMIT NOLIMIT NOLIMIT
Partial Release.............. CONDITIONAL CONDITIONAL CONDITIONAL
Primary Days................. 15 15 15
Level 1 Days................. 42 42 42
Cmd/Auto Migrate............. BOTH BOTH BOTH
# GDG on Primary............. - - -
Rolled off GDS action........ - - -
Backup Frequency............. 1 1 1
# Backups (DS exists)........ 3 5 13
# Backups (DS deleted)....... 1 5 13
Retain Days only backup...... 14 14 14
(DS Deleted)
Retain Days extra backup..... 30 30 30
Admin/User Backup............ BOTH BOTH BOTH
Auto Backup.................. YES YES YES
A file will get the STANDARD management class by default. Users can modify an existing data set's Management Class by using the IDCAM's "ALTER" command, on the line of the data set; for example, under ISPF option 3.4 issue:
ALTER (/) MGMTCLAS(newname) where (/) = datasetname
For new datasets, a management class can be specified, with either the JCL keyword MGMTCLAS=, or by filling in the management class field in ISPF option 3.2
Of course, it cannot be that simple. You will need a few special management classes for special files.
M A N A G E M E N T C L A S S (cont.)
Parameter STANML2 GDG NOMGMT
--------- ------- --- ------
Expire Non-Usage............. NOLIMIT NOLIMIT NOLIMIT
Expire Date/Days............. NOLIMIT NOLIMIT NOLIMIT
Max Retion Period............ NOLIMIT NOLIMIT NOLIMIT
Partial Release.............. CONDITIONAL YES NO
Primary Days................. 15 15
Level 1 Days................. 0 30
Cmd/Auto Migrate............. BOTH BOTH NONE
# GDG on Primary............. - 1
Rolled off GDS action........ - EXPIRE
Backup Frequency............. 1 1 1
# Backups (DS exists)........ 3 1 5
# Backups (DS deleted)....... 1 1 3
Retain Days only backup...... 14 14 14
(DS deleted)
Retain Days extra backup..... 30 30 30
Admin/User Backup............ BOTH BOTH BOTH
Auto Backup.................. YES YES YES
The STANML2 class is exactly the same as the STANBK class above, except that when the data is migrated, it goes straight to ML2. You would invoke this in your ACS routines with code that looks a bit like
IF (&SIZE < 350MB) THEN DO
SET &MGMTCLAS = 'STANBK'
EXIT
END
ELSE DO
SET &MGMTCLAS = 'STANML2'
EXIT
END
END
Generation Data Groups are generally created, then never updated again, so they need special processing. For instance, older files are usually migrated earlier than a normal file would be. You invoke the GDG class with code like
IF (&DSTYPE = 'GDS') THEN DO
SET &MGMTCLAS = 'GDG'
EXIT
END
The NOMGMT class is for files that you never want archived or space managed. You probably want to restrict access to this class, and so its probably best managed explicitly from a filtlist. Typically, you would use this for Started Task files.
The management class has a freespace release parameter to cut overallocated files down to size.
Finally, How do the 'backup' fields work? Firstly, these don't apply to all mainframe backup products. Native DFDSS and FDRABR work on a volume basis, and management classes are ignored. If you use DFHSM as your backup product, it will use these classes to decide how long backups are kept.
There are two types of backup, the most recent, or active backup, and older, or inactive backups. A file can have two statuses, online or deleted. If a file is online, the most recent, or active backup is always kept. There's no parameter to control this, that's just the way it is. Retention is controlled by parameters as shown in the table below
File Online
File Deleted
Active Backup
Always Kept
"# backups DS deleted"can be set to '0', which means no backups are kept if the file is deleted
Inactive Backup
"# backups DS exists" controls how many backups are retained, "Retain Days Extra Backup" controls how long inactive backups are kept for
"# backups DS deleted" controls how many backups are retained, "Retain Days Extra Backup" controls how long inactive backups are kept for