Compacting Active Volumes
Although COMPAKTOR enqueues on the VTOC of the target volume and checks the use count for the device in the UCB, some system data sets are opened when the Operating System is initialized; they are not all accounted for by the UCB use count.
Active data sets
The following data sets are a partial list of active data sets that may not be enqueued by the operating system so that COMPAKTOR is unable to tell if they are in use. If applicable, these data sets and any other data sets that are not enqueued should be put in the COMPAKTOR Unmovable Table. Failure to do so may result in system failures.
Add these data sets to the COMPAKTOR Unmovable Table:
- JES Procedure Libraries (PROCLIBs)
- JES SPOOL and Checkpoint data sets
- PAGE data sets (including PLPA and COMMON)
- Coupling data sets
- Tape Management System data sets
- Link List (LNKLST) Program Libraries
- CICS Journals
- SYS1.BRODCAST
- SYS1.MANx (SMF) data sets
- Security System data sets
- FDR/CPK Program Library
- Non SMS-managed, APF-Authorized Program Libraries
- Data sets used by programs specified with the NODSI option in the Program Properties Table (PPT) (PARMLIB member SCHEDxx)
Data set enqueue
When COMPAKT-from-backup is executed with DUMP=YES, FDR determines which data sets are active if the data set enqueue option (DSNENQ=) is specified on the DUMP TYPE=FDR statement. A data set is considered active if it is enqueued with a QNAME of “SYSDSN” and an RNAME of the data set name. This is the enqueue used by the job scheduler. In addition, VSAM catalogs, page and swap data sets, and the VVDS are always considered active with this option.
For Fast COMPAKTion (TYPE=FASTCPK) and space release (TYPE=RLSE) the DSNENQ= operand is supported on the COMPAKT statement. However, it defaults to DSNENQ=USE so these operations automatically recognize active data sets
However, there is one circumstance in which you do NOT want data set enqueues. The enqueues done by the operating system are strictly on the data set name; it is not possible to tell on which volume the data set in use resides. If you are compacting a volume that is a duplicate of another active volume (such as when you are creating a duplicate SYSRES volume), DSNENQ= would consider any data sets that were in use on the original volume to be unmovable on the duplicate volume, even though they are not really in use. If DSNENQ=NONE is specified, COMPAKTOR is able to do a better job of compacting the duplicate volume.
Unmovable data sets
COMPAKTOR supports a table of unmovable data sets. SYS1.VTOCIX, SYS1.VVDS, and SYS1.LOGREC are automatically included in this table. You may specify additional data set names or groups to be considered unmovable. Entries can be added to this table using the FDR ISPF support (“COMPAKTOR Unmovable Table Panel” in Section 90.13) or by executing program FDRZAPOP. Data sets specified by the COMPAKTOR Unmovable Table or POS=KEEP or found active by the data set enqueue option are not moved or restored by COMPAKTion using the DUMP=YES option or by FASTCPK or RELEASE.
SYSRES volume
COMPAKTOR does not allow you to modify the active system residence volume of the system on which CPK is running.
Compacting active volumes
If you must COMPAKT a volume that has data sets in constant use, you can do so. Fast COMPAKTion (TYPE=FASTCPK) is designed to process active volumes by default. Do not override the default of DSNENQ=USE. This also applies to space release (TYPE=RLSE). However, the improvement that CPK can achieve on an active volume is limited because many data sets are made unmovable.
Overriding the COMPAKTOR unmovable table or active list
Normally COMPAKTOR abends if a SELECT DSN= control statement was specified for a data set found in the COMPAKTOR Unmovable Table or found to be active by the data set enqueue option. If OVERRIDE=YES is specified on the CPK control statement SELECT control statements are honored for these data sets unless the data set is truly unmovable. This should be done with care. For example: catalogs may remain OPEN for a considerable period of time. If they are moved while OPEN, the results are unpredictable. If an active tape management or link list (LNKLST) data set is moved, the system will probably crash.
Simulation of an active volume
If a SIMULATE is executed against an active volume, FASTCPK and RELEASE do NOT check for active data sets. Simulation may indicate that these data sets will move when, in fact, they will not move during a live COMPAKTion. The COMPAKTOR Unmovable Table is still checked.
If you are going to run FASTCPK on a volume with active data sets immediately after a SIMULATION, be sure to specify DSNENQ=TEST or USE on the SIMULATE to get a more accurate prediction of actual results. However, remember that the list of active data sets may change when the operation is run for real, resulting in somewhat different results than the simulation reported.