When you're working with large MVS datasets, efficient SPACE parameter coding can be the difference between a job that runs and a job that fails. So what's the best solution?
The answer is that there is no one correct answer for all space-allocation questions. The best solution varies depending on the exact situation.
To allocate a dataset on disk, a dataset name and space parameters are specified. To allocate a non-VSAM dataset using JCL, the syntax for SPACE parameter is usually something like the following:
The allocation unit can specify a numeric block size,
TRK for tracks, or
CYL for cylinders. In the past, the allocation unit could affect the performance of accesses to the dataset, but improvements in
disk technology make this a less critical factor now. The
primary quantity requests the initial number of units of allocation needed. This number should be as close to the total requirement as possible. The
quantity is an additional quantity that can be used only if your dataset exceeds the space allocated with the primary quantity. The system does not guarantee that the space for a secondary allocation will be available. An optional number of
directoryblks can be specifed to hold the names of the members of the dataset, along with other needed information, for allocating a partitioned dataset. The optional
RLSE keyword can be used to free all of
the unallocated space in a dataset.
In general, when allocating a dataset to contain a fixed, unchanging amount of data, a primary space quantity should be specified that is over estimated by a reasonable amount. The
RLSE keyword can be included on the JCL to
exactly size the dataset.
When allocating a new permanent dataset to contain a varying, and possibly increasing, amount of data, a primary space quantity should be specified that is over-estimated by an amount to reasonably accommodate the expected growth of the dataset. If
the dataset will be updated by adding additional data using
DISP=MOD, then the
RLSE keyword should not be specified in the JCL.
For non-VSAM datasets, if an initial space quantity was overallocated by too large an amount, the CNS local
TSO RLSE command can be used to reduce the size of the dataset and still leave space for some additional data as
From the ISPF 3.4 DSLIST panel, this command can be specified as:
RLSE / LEAVE(
A significant factor in preventing job failures is accurately sizing your datasets.
Periodically check the allocated space and update your JCL when appropriate. For additional help, contact the CNS Support Desk at firstname.lastname@example.org, or (352) 392-2061.
We welcome your comments and suggestions on this and all UFIT documentation. Please send your comments to: