Using VSAM Extents

A primary space allocation is the initial amount of allocated space. When the primary amount on the first volume is used up, a secondary amount is allocated on that volume. Each time a new record does not fit in the allocated space, the system allocates more space in the secondary space amount. The system repeats allocating this space until the volume is out of space or the volume extent limit of 123 is reached.

For nonstriped VSAM data sets, you can specify in the SMS data class parameter whether to use primary or secondary allocation amounts when extending to a new volume. You can expand the space for a nonstriped VSAM component to 255 extents. For SMS-managed VSAM data sets, this extent limit is removed if Extent Constraint Removal is specified in the Data Class. The theoretical limit is then the maximum number of volumes (59), times 123 extents per volume, or 7257 extents.

You can expand the space for a striped VSAM component to 255 times the number of stripes. The VSAM limit of 255 extents is still enforced for any non-SMS-managed data set. The system reserves the last four extents for extending a component when the system cannot allocate the last extent in one piece.

Note: Starting in z/OS V1R7, the 255-extent per stripe limit is removed if the extent constraint removal parameter in the data class is set to Y (yes). The default value is N (no), to enforce the 255-extent limit. This limit must be enforced if the data set might be shared with a pre-V1R7 system.

For both guaranteed and nonguaranteed space allocations, when you allocate space for your data set, you can specify both a primary and a secondary allocation. Guaranteed and nonguaranteed space allocation work similarly until the system extends the data set to a new volume. The difference is that the guaranteed space data set uses the candidate with space amount that is already allocated on that volume.

With guaranteed space allocations, the primary allocation is allocated on the first volume as PRIME and all of the other guaranteed space volumes as candidate with space. When all of the space on the primary volume is used, the system gets space on the primary volume using the secondary amount. When no more space can be allocated on the primary volume, the system uses the candidate with space amount on the next volume. Subsequent extends again use the secondary amounts to allocate space until the volume is full. Then the system uses the candidate with space amount on the next volume, and so forth.