Defining data sets with multiple extents and volumes

You can define a temporary storage data set or a transient data destination data set, as a single extent defined on a single volume. That data set must be big enough to hold all your data. However, to cater for exceptional cases in which the data set size might have to be much larger than your average, you can define data sets with multiple extents and volumes.

For example, you can define:
  • Multiple extents on one volume
  • One extent on each of multiple volumes
  • Multiple extents on multiple volumes

When you define more than one extent, CICS® uses the extra extents only when the primary extent is full. You could make your primary extent large enough to meet average demand, and then have smaller secondary extents for overflow. In this way, you save space until it is needed. When each extra extent becomes full, VSAM creates another. VSAM continues to create extra extents, as needed, up to a maximum of 123 extents. The use of multiple volumes has no effect on this limit.

To allocate additional extents in the same volume, code a secondary extent operand on the RECORDS parameter:
RECORDS(primary,secondary)
To use single extents on multiple volumes, code:
RECORDS(primary) -
VOLUMES(volume1,volume2,volume3,.....)
For multiple extents on multiple volumes, combine both primary and secondary RECORDS operands with multiple VOLUMES operands:
RECORDS(primary,secondary) -
VOLUMES(volume1,volume2,volume3,.....)

If a particular volume causes performance bottlenecks, try single extents on multiple volumes.

Use multiple extents over multiple volumes if there is a probability that a volume will exhaust its free space before VSAM reaches its limit on extra extents. If this occurs, VSAM continues to create extra extents on the next volume in the list.