CPK Hints and Recommendations


I ran FASTCPK on a 3390-3 and it reduced my free areas from 322 to 26. 47 data sets were in more than one extent before FASTCPK, and 19 after FASTCPK. FASTCPK ran in 1 minute, which is great, but I want even better free space consolidation and to eliminate all my multi-extent data sets.

The default for FASTCPK is to reduce the number of free space areas by 90%.

If you want COMPAKTOR to do better consolidation, you may specify the SIZEKEEP= operand. The default for SIZEKEEP= is (100,90,60). For maximum consolidation, specify SIZEKEEP=(0,100,1); then FASTCPK attempts to consolidate all of the free space into 2 or 3 free space areas and consolidate all data sets with more than one extent into one extent. However, the additional consolidation requires some additional run time.

Tip

We recommend that you run with the default to minimize elapsed time, and specify SIZEKEEP=(0,100,1) for better free space and extent consolidation or SIZEKEEP=(100,100,60) for better space consolidation. For 3390-9 volumes and larger, you should always use SIZEKEEP=(100,90,60), the default. For Extended Address Volumes (EAVs), we recommend SIZEKEEP=(10,50,60,5000) and CPKFREEX=60.

Recommended options

Average FASTCPK time is under one minute for 3390-3.

For the best performance, we recommend that you run free space release (CPK TYPE=RLSE) as a separate step just prior to the FASTCPK run. For example,

First Step:

COMPAKT TYPE=RLSE,VOL=TSO*,NOSECOND=NORLSE, PSRLSE=TRK,PORLSE=ALL,VSRLSE=ALL,%POFREE=10,%VSFREE=10

Second Step:

COMPAKT TYPE=FASTCPK,VOL=TSO*,LOG=YES,CPKFRAGI=3, CPKFREEX=10,UNABLE=IGNORE,SIZEKEEP=(100,90,60)

  • Activity level varies daily on storage volumes. It is hard to predict. As a rule for FASTCPK during the week you might want to COMPAKT only those volumes with a CPKFRAGI of 3 (fragmentation index of .300) or more or those with at least 10 free space areas.
  • Specifying LOG=YES causes COMPAKTOR to issue FDRW82 COMPAKTOR REORGANIZATION STARTED VOL=vol and FDRW82 COMPAKTOR REORGANIZATION SUCCESSFUL VOL=vol messages on the console. These messages aid the operator in determining what volumes are being processed.
  • Significant amounts of space are wasted within PS, PO, and VSAM data sets including DB2. FASTCPK can release all or a percentage of the space during FASTCPK. To preserve some free space within data sets, specify %FREE= or %PSFREE=, %POFREE=, %VSFREE=. It is recommended that some free space be left in VSAM and PO files.
  • NOSECOND=NORLSE should be specified so data sets without secondary allocations are not eligible for space release.

How do I avoid a U0888 ABEND if COMPAKTOR gets a “CPK554E UNABLE TO COMPAKT THIS VOLUME REASON=ALGORITHMS FAILED-VOLUME NOT CHANGED”?

In some unusual circumstances, FASTCPK might not be able to COMPAKT a volume (all of the data set placement algorithms have failed). This type of error results in the general abend code U0888 at the end of the job. Since the volume was not changed, you can code UNABLE=IGNORE on the COMPAKT statement to suppress the U0888 abend for this type of error.

Important

UNABLE=IGNORE also suppresses the U0888 abend for conditions where FASTCPK is unable to allocate a recovery log (no free DSCBs or free tracks in the VTOC) or where there are insufficient free tracks on the volume to perform a COMPAKTion.

How accurate is the elapsed time estimate in the SIMULATION COMBINED SUMMARY report?

The COMPAKTOR survey results and our own testing showed that over 95% of the FASTCPK jobs ran less than the estimated time.

Tip

If you are going to run FASTCPK on a volume with active data sets, right after a SIMULATION, add DSNENQ=USE to the SIM TYPE=FASTCPK run to get a more accurate report on what FASTCPK will do.

Currently we run COMPAKTOR under ABR by specifying DUMP TYPE=FDR, COMPAKT on the weekly full volume backups. What is the best way for us to take advantage of FASTCPK?

We recommend that you run FASTCPK in separate jobs before the ABR full volume backups. FASTCPK, with its built-in recovery capability, does not require a prior backup. FASTCPK runs faster than compacting from the backup tape under ABR.

I received a message “CPK554E UNABLE TO COMPAKT THIS VOLUME REASON=RECOVERY LOG FULL”. What does this mean?

If a significant number of tracks need to be moved, it is possible that the CPK recovery log fills up and COMPAKTOR goes into recovery and back out the changes. If you have encountered this situation contact BMC Support for assistance.

How many volumes can be processed by FASTCPK at the same time?

It varies significantly between users. FASTCPK is I/O intensive so it depends on the number and type of paths to your DASD, and on the other types of processing that is occurring concurrently. The average is about ten volumes at a time with some large shops doing up to 30 at a time. One user runs 31 volumes at the same time and they all complete within 11 minutes. You should experiment to see what works best in your configuration.

A given FASTCPK job processes only one volume at a time, so to run concurrently you must set up multiple jobs. For best results, put volumes on the same DASD string into the same job.

My VVDS is in multiple extents. Can COMPAKTOR merge a VVDS into one extent?

As a default, COMPAKTOR considers a VVDS as unmovable. Many times, a VVDS goes into extents and this can affect overall DASD performance.

If you specify OVERRIDE=YES and SELECT DSN=SYS1.VVDS.Vvolser,POS=VTOC, COMPAKTOR merges all the extents of the VVDS into one extent and position the VVDS next to the VTOC.

This type of operation can be done only when the VVDS is not in use and requires COMPAKTOR to take a backup (TYPE=CPK,DUMP=YES). The safest procedure is:

  1. VARY the volume OFFLINE to all other systems with shared DASD before COMPAKTOR starts.
  2. Do not specify ACTMESS=NO, and do not reply IGNORE if message FDRW81 appears informing you that there are open data sets on the volume.
  3. VARY the volume back ONLINE to sharing systems after COMPAKTOR completes.

Occasionally we see free space errors in the VTOC. Can COMPAKTOR correct free space errors?

COMPAKTOR automatically corrects VTOC errors during any COMPAKTion or RELEASE run.

A simple RELEASE run of one data set runs in less than a minute and automatically rebuilds the VTOC, including the free space descriptors. For example:

CPK TYPE=RLSE,VOL=xxxxxx SELECT DSN=MY.DATA SET,RLSE=ALL

We have the need to run FASTCPK while the volumes are in use. What impact does this have on my users?

FASTCPK, by default, automatically detects active data sets. Link list (LNKLST) data sets on the system FASTCPK is run on are automatically made unmovable by FASTCPK. Other active data sets not enqueued by the operating system should be put in COMPAKTOR Unmovable Table (a list of such data sets appears in Compacting Active Volumes section). FASTCPK issues an ENQUEUE/RESERVE on the VTOC for the duration of the COMPAKTion. This prevents users on the system where COMPAKTOR is running from allocating, scratching, or obtaining secondary extents. Data sets that are in use at the time FASTCPK is started are still available to the end user. On other systems with shared DASD, the entire volume is unavailable while it is being COMPAKTed. Shortly after FASTCPK starts, FASTCPK DEQUEUEs data sets that are not going to be moved, and those data sets are available again to end users on the system where COMPAKTOR is running. If any jobs receive message IEF211I while CPK is running, contact BMC Support for assistance.

FASTCPK does not enqueue data sets in the COMPAKTOR Unmovable Table. So if you want certain data sets always accessible on a volume that you are compacting, put those data sets in the COMPAKTOR Unmovable Table. For VSAM data sets, the component name is specified in the COMPAKTOR Unmovable Table.

TSO users receive the following messages during log in for the ISPF profile data set if FASTCPK is compacting that volume and has the ISPF profile data set enqueued:

IKJ56225I DATA SET dsn ALREADY IN USE, TRY LATER+ IKJ56225I DATA SET IS ALLOCATED TO ANOTHER JOB OR USER

Without the ISPPROF data set, they cannot access ISPF. This can be circumvented by adding a generic filter mask to the COMPAKTOR Unmovable Table for the ISPF profile data sets. Use FDRZAPOP or the ISPF panels A.I.5 to update the COMPAKTOR Unmovable Table with (CPKUNMOV DSN=*.*.ISPPROF). COMPAKTOR does not enqueue on data sets that are in the COMPAKTOR Unmovable Table.

What happens if the operator cancels COMPAKTOR before it is completed?

Since the majority of interrupted COMPAKTOR jobs result from operators issuing CANCEL commands, COMPAKTOR includes a CANCEL protection function. If a CANCEL is issued against a COMPAKTOR job at any time during the restore phase (while the VTOC, VVDS, or data tracks are actually being updated or moved), COMPAKTOR intercepts that CANCEL and issues an FDRW99 message to the operator indicating that the CANCEL will result in volume corruption, and giving the operator the option of ignoring the CANCEL, canceling the job, or bringing COMPAKTOR to a graceful termination when it finishes processing the current volume.

The operator should always reply “S” (STOP) so that COMPAKTOR just complete the volume currently in progress before terminating.

Tip

You may want to automate the response to the FDRW99 messages to always be “S”.

What happens if the system crashes during a FASTCPK?

You can resubmit the COMPAKTOR job that was running and FASTCPK automatically recovers the volume. If you do not know which volume was being processed submit a MAP job with the command MAP VOL=*,MAPS=SUMMARY.

COMPAKTOR prints a CPK586W message for each volume on which you must resubmit FASTCPK to recover the volume.

How long does it take FASTCPK to recover a volume?

FASTCPK recovery takes about two times as much elapsed time as COMPAKTOR spent compacting the volume before the failure. For example, if the FASTCPK was processing the volume for three minutes, recovery is completed in six more minutes.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*