Usage notes for SPACVOLA used with Allocation
SPACVOLA applies to physical sequential data sets and to VSAM data sets, including SMS-managed data sets.
This section contains the following usage information:
- Multistripe VSAM data sets
- Unsupported data sets
- Extent size control
- Volume recovery for shared VSAM usage
- Pools
- SPACVOLA parameter
- MNTYPE parameter
- NOCHECK parameter
- PCTI and NVOL parameters
- REORG parameters
- VSAMPRIM global parameter
- DCTYPE global parameter
- MAXVOL global parameter
- SCAT global parameter
- VSAMZSEC global parameter
Multistripe VSAM data sets
For multistripe VSAM data sets, SPACVOLA will attempt to add the number of volumes required to provide an available candidate for each stripe when the MULTISTRIPE global parameter is set to YES. The number of volumes added will be limited by the number of available candidates already defined for the data set, the volume limit specified in the qualifying SPACVOLA parameter, and the MVS maximum limit of 59 volumes.
Unsupported data sets
SPACVOLA does not operate on the following data sets:
- Data sets with a DISP=(,PASS) and a volume reference (VOL=REF=)
- Non-VSAM data sets for which two DD statements exist in the same job step
- Concatenated data sets
- Data sets that are being processed with NOTE/POINT
- Data sets that are being processed with EXCP
- Uncataloged data sets
- Non-VSAM data sets that are open by another job
- Data sets that already have the maximum number of volumes (59)
- VIO data sets
- VSAM data sets for which two DD statements exist in the same job step when global parameter SHARED_VSAM=NO
VSAM data sets that are opened by another job when global parameter SHARED_VSAM=NO
DFSORT sort work data sets should be excluded from SPACVOLA processing. This exclusion can be done in the filter list by specifying
SET MODE=INACT
INC DD=????WK?? PGM=utility
Extent size control
In general, you can control extent size via several MainView SRM Allocation functions, as follows:
- SPACSQTY adds or overrides requested space on new allocations.
- SPACPRIM reduces the size of the primary extent if the requested value cannot be found.
- SPACSWIR reduces the size of the first allocation on an added volume if the requested value cannot be found.
- SPACVOLA adds a volume when z/OS encounters an end-of-volume condition during one of the following situations:
- At least one of the eligible volumes contains an extent that is large enough to satisfy the requested size.
- SPACSWIR is active, and the eligible volumes do not contain an extent that is large enough to satisfy the requested size.
Volume recovery for shared VSAM usage
Sometimes, VSAM data sets are shared by multiple address spaces, such as in transactional systems like DB2, IMS, or CICS that use that use block-level-sharing or record-level-sharing for data integrity.
If a SPACVOLA process should be performed on one of the systems that is sharing a VSAM data set, the other systems will not be aware of the added volume to the catalog until they try to access or add data on the volume. This end-of-volume condition has sometimes been referred to as a volume mismatch error.
At that moment of the volume mismatch condition, SPACVOLA can recover the already cataloged volume for the data set and prevent the abend. This volume recovery is actually the normal SPACVOLA process without the catalog update and is referred to as SPACVOLA RECOVERY.
Pools
For non-DFSMS data sets, SPACVOLA works with pools that are defined in SMPOOLxx or with volumes that are defined in the VOLSER parameter of the SPACVOLA RLST. If pools are used, a data set must already belong to a pool or must have a pool assigned by the ALTPOOL rule parameter. The pool to which a data set belongs (its current pool) is the first SMPOOLxx pool definition that contains the data set’s current volume. If the data set does not reside on a pool volume, you can select a volume by using the ALTPOOL rule parameter, or you can specify a list of volumes by coding the VOLSER rule parameter.
For DFSMS data sets, SPACVOLA searches the data set’s storage group for volumes; for non-DFSMS data sets, SPACVOLA searches the current pool and any specified alternative pool for volumes (unless directed otherwise by the SPACVOLA action parameters). The volume with the smallest extent that satisfies the request is selected.
SPACVOLA parameter
The SPACVOLA parameter specifies the maximum number of volumes for a data set.
The SPACVOLA function does not exceed this number. SPACVOLA overrides any volume-count limitation in the SMS data class.
MNTYPE parameter
The MNTYPE parameter specifies the mount status that a volume must have to be considered eligible.
MNTYPE applies only to the current pool; the alternative pool is searched for volumes with any mount type.
NOCHECK parameter
You can use the NOCHECK parameter to override conditions that cause SPACVOLA to not process.
See the syntax documentation for NOCHECK for information about those conditions. These conditions can also be overridden by using the SKIP global parameter.
By default, the SPACVOLA function excludes data sets that are being processed with EXCP, NOTE/POINT, or CONTIG. The NOCHECK parameter can cause SPACVOLA to process these data sets.
PCTI and NVOL parameters
When specified with the SPACVOLA function, the secondary allocation is increased by the PCTI value only after a volume addition. The new value for the secondary allocation is permanent; therefore, subsequent extents on the new volume are the same size as the first extent that was allocated after the volume addition.
The NVOL selection parameter can be used to control the secondary increases after a volume addition occurs.
The following example shows you how to:
- Allow up to five volumes for all data sets
- Increase the secondary allocation on the first volume addition by the second volume add by 200 percent
- Multiply the new secondary on the second volume addition (not the original) by 200 percent, thereby quadrupling the original secondary on the second volume add
INC DSN=/ NVOL < 3
REORG parameters
The REORG parameter determines whether SPACVOLA processing automatically reorganizes a data set that has just been made multivolume back to a single volume.
If REORG=YES is specified, the REORG_NSMS or REORG_SMS parameter identifies the control card member (SMRORGxx where xx is the first operand of the REORG_NSMS or REORG_SMS parameter) that contains the DFDSS control cards for the reorganization Started Task. For non-SMS reorganizations, the REORG_NSMS parameter’s second operand specifies the MainView SRM pool name to be used to build a list of volumes to which the reorganized data set can be copied. For SMS reorganizations, the REORG_SMS parameter’s second operand specifies the SMS storage class to which the data set is to be copied during the reorganization. The reorganization Started Task is only submitted once for each job, which causes the data set to be extended to multiple volumes even if the data set is extended more than once. For more information about setting up the Started Task and the control card members, see the X37REORG utility in Allocation-utilities.
VSAMPRIM global parameter
For VSAM data sets, the primary extent on the new volume added by SPACVOLA is for the secondary extent size defined for the VSAM data set.
The VSAMPRIM global parameter of SMMSYSxx can specify use of the primary extent size for added volumes. VSAMPRIM=YES must be specified in order to use the primary extent size rather than the secondary extent size. Because VSAMPRIM is a global parameter, it applies to most VSAM data sets that are processed by SPACVOLA. VSAMPRIM does not apply to multistripe VSAM and DB2 VSAM data sets.
DCTYPE global parameter
The DCTYPE global parameter controls which device characteristics are maintained across volumes during SPACVOLA processing. See the DCTYPE definition in Using-MainView-SRM-products for a complete description of the DCTYPE options.
MAXVOL global parameter
The MAXVOL global parameter is the system default for the SPACVOLA RLST SET parameter. If SPACVOLA is not specified, the MAXVOL setting determines the maximum number of volumes to which the data set can extend.
SCAT global parameter
The SCAT global parameter determines whether the data set is recataloged immediately after a volume is added or recataloged at step termination.
VSAMZSEC global parameter
The VSAMZSEC global parameter controls recovery for VSAM data sets that do not have a secondary space allocation specified.
If VSAMZSEC=NO is specified, SPACVOLA controls whether the recovery is processed. If VSAMZSEC=YES is specified, the SPACSECA function controls whether the recovery is processed.