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

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

    Warning

    SPACVOLA (and z/OS) allow a data set to extend across as many as 59 volumes. However, some products that use DFP 3.3 CAMLST services can only process up to 20 volumes, due to a limitation in the CAMLST processing (see the IBM manual MVS/DFP 3.3 System Programming Reference for more information).

  • 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

    Note

    The program name (PGM) is not required. This example includes PGM simply to illustrate how you can further filter the DDname for specific utility programs, such as SORT(PGM=SORT).

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.

Note

  • The recovery works for all eligible VSAM data sets that qualify for SPACVOLA processing.
  • You will see different MainView SRM messages for SPACVOLA RECOVERY.
  • No special parameters are required for SPACVOLA RECOVERY. However, the SHARED_VSAM=NO global parameter can prevent normal SPACVOLA processing on shared VSAM data sets.

Tip

Setting global parameter SHARED_VSAM=NO can prevent a normal SPACVOLA from being performed on a shared VSAM data set. Setting SHARED_VSAM=YES is the preferred method to allow MainView SRM Allocation to recover both out-of-space and volume mismatch errors. All MVS images sharing VSAM data sets should be running release 7.4 or later of MainView SRM Allocation before setting SHARED_VSAM=YES.

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.

Note

If a volume count is specified in the JCL for a job that uses multiple volumes, you should set the SPACVOLA value higher than the volume count. Otherwise, SPACVOLA processing does not occur. Alternatively, you can remove the volume count specification from the job’s JCL.

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
SET   SPACVOLA=4 PCTI=200
      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.

Note

SMS-managed data sets are always recataloged immediately.

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.



 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*