VSAM considerations when preventing abends with Allocation
When you allocate VSAM files, the DEFINE CLUSTER control statements are frequently borrowed from other jobs or users. In this environment, files are not evenly distributed within the VSAM volume pool. Because Allocation functions recover the problems that are caused by the fragmentation or over-allocation of a volume, the jobs that would have failed with out-of-space conditions can run to completion.
Allocation functions intercept several types of out-of-space conditions for VSAM data sets. If sufficient space is not available to satisfy the primary space request, the SPACPRIM parameter can be used to reduce the primary space request by a percentage until the data set is allocated or until the specified minimum for the primary space is reached.
Whenever a secondary extent must be added to a VSAM data set and sufficient space is not available on the volume (or in the SMS storage group) for the new extent, Allocation functions can recover from the error. If s secondary space amount was not specified, Allocation functions can provide a secondary space amount. If a secondary space amount was specified, the secondary space request can be reduced, or another volume can be added to the data set. If another volume is added to the data set, the amount of requested space is normally the primary space amount.
Optionally, when a VSAM data set is extended to a new volume, Allocation functions can request the secondary space amount instead of the primary space amount. The secondary space amount can be obtained whether the new volume was added by BMC AMI Storage Allocation or was specified as a candidate volume when the data set was defined.
Both VSAM and non-VSAM data sets can span 59 volumes. Non-VSAM non-extended format PS data sets are limited to 16 extents per volume. Non-VSAM extended format PS data sets are limited to 123 extents per volume. VSAM data sets (both non-extended format and extended format) are limited to 123 extents per volume.
For more information, see: