7. PARAMETERS › 7.3 Unit Level Parameters › 7.3.1 DB2 Processing Options (DB2OPS) › 7.3.1.1 WORK, MULTWORK, and NOMULT Statements
7.3.1.1 WORK, MULTWORK, and NOMULT Statements
WORK
----
This statement is optional. It enables sites experiencing
either SAS WORK space allocation problems or out of work
space conditions during DAYnnn or INCRnnn (where nnn is the
job step number), daily or incremental update processing, to
allocate multiple WORK files.
You can allocate multiple WORK files for use during the daily
and/or incremental update job step. The maximum number of
WORK files you can allocate varies by product. These
additional work files are used in conjunction with the single
work data set allocated by default using the JCLDEF
parameters WORKUNIT and WORKSPACE.
Because the individual space allocation requirement for each
WORK file is typically much smaller, it is more likely to be
satisfied.
To take advantage of multiple WORK files support, edit
prefix.MICS.PARMS(cccOPS) and insert a WORK statement as
shown below:
WORK n data_set_allocation_parameters
where n is the number of WORK data sets
Note: The default is three (3).
The maximum is thirty five (35).
data_set_allocation_parameters is one or more data
set allocation parameters (for example, STORCLAS or
SPACE) separated by spaces.
You can also specify the WORK parameter as the following:
WORK n XXX pppp ssss
where:
n is the number of WORK data sets
XXX is TRK or CYL
pppp is the primary allocation
ssss is the secondary allocation
Note: When allocating any number of SAS WORK data sets, be
aware that one additional SAS WORK data set is automatically
allocated to facilitate sorting. For example, if you
allocate six SAS WORK data sets, you will actually get seven.
If you omit the data_set_allocation_parameters or the WORK
parameter, the work data sets are allocated according to the
values you specified for the WORKUNIT and WORKSPACE
parameters in prefix.MICS.PARMS(JCLDEF). Use the
data_set_allocation_parameters to override this default,
either to alter the space allocation or to use System Managed
Storage (SMS) parameters to control data set placement and
characteristics.
Note: If you allocate insufficient space for the WORK data
sets, DAYnnn and/or INCRnnn processing will fail and can only
be restarted from the beginning.
Note: If internal step restart is active, you can override
the WORK data set allocation parameters at execution-time
using the //PARMOVRD facility. For more information about
execution-time override of dynamic data set allocation
parameters, see the PIOM, section 2.3.6.
Specify data set allocation parameters, separated by blanks,
according to SAS LIBNAME statement syntax. If you need
multiple lines, repeat the WORK keyword on the continuation
line.
WORK accepts the engine/host options documented in the SAS
Companion for the z/OS environment, including STORCLAS, UNIT,
SPACE, BLKSIZE, DATACLAS, MGMTCLAS, and VOLSER.
Important! Do not specify the DISP parameter.
Example 1:
WORK n STORCLAS=MICSTEMP SPACE=(XXX,(pppp,ssss),RLSE)
where:
n - is the number of WORK data sets.
STORCLAS - specifies a storage class for a new data set.
The name can have up to 8 characters.
SPACE - specifies how much disk space to provide for
a new data set being allocated.
XXX - is TRK or CYL.
pppp - is the primary allocation.
ssss - is the secondary allocation.
RLSE - specifies that free-space should be released
when the data set is closed.
Example 2:
WORK n XXX pppp ssss
where:
n - is the number of WORK data sets.
XXX - is TRK or CYL.
pppp - is the primary allocation.
ssss - is the secondary allocation.
Example 3 (multiple lines):
WORK n STORCLAS=MICSTEMP UNIT=SYSDA
WORK SPACE=(xxxx,(pppp,ssss),,,ROUND))
where:
n - is the number of WORK data sets.
STORCLAS - specifies a storage class for a new data set.
The name can have up to eight characters.
UNIT - specifies the generic unit for a new data set.
The name can have up to eight characters.
SPACE - specifies how much disk space to provide for
a new data set being allocated.
XXX - is TRK or CYL.
pppp - is the primary allocation.
ssss - is the secondary allocation.
Note: Since there is some performance impact when using
multiple WORK files, you should specify the minimum number of
WORK data sets to meet your work space requirements. As a
start, try incrementing the number gradually beginning from
the default.
WORK Considerations
--------------------
How Much Space Should You Allocate?
o First Time Implementation of Multiple Work Files
If this is the first time you are implementing multiple
work files for this product in this unit, review
prefix.MICS.PARMS(JCLDEF) and find the WORKSPACE
parameter. It will resemble this sample statement:
WORKSPACE TRK 500 250
The value shows the current SAS WORK space allocation for
the unit as a single data set. It also serves as the
default value used in the unit's DAYnnn daily update
(and/or INCRnnn incremental update) step unless you
provide a WORK parameter.
To achieve the equivalent work space allocation of
WORKSPACE TRK 500 250 using multiple WORK data sets that
will collectively share the work space requirements of
the daily and/or incremental update step, you could code
either one of these:
WORK 2 SPACE=(TRK,(250,125))
WORK 5 SPACE=(TRK,(100,50))
To determine the total work space, multiply the number of
WORK files (n) by the primary (pppp) and secondary (ssss)
values specified.
Note: To simplify the example, only the SPACE parameter
is shown above. You can follow either with data set
allocation parameters like UNIT or STORCLAS as required
for your site.
o Adjusting Allocation for Existing Multiple WORK Files
If you have previously implemented multiple WORK file
support for this product in this unit, and you want to
change either the number of WORK files or the space
allocations, examine prefix.MICS.PARMS(cccOPS) and find
the existing WORK statement.
- If the existing WORK statement only specifies the
number of WORK files but does not contain space
allocation information as shown below:
WORK 5
Then each of the multiple WORK files is allocated
using the values from the WORKSPACE parameter of
prefix.MICS.PARMS(JCLDEF), as described earlier under
First Time Implementation of Multiple Work Files.
To increase workspace, you can increase the number of
WORK files (for example, change WORK 5 to WORK 6,7,8,
or 9), increase the space allocation in the WORKSPACE
parameter, or do both.
To decrease workspace, you can decrease the number of
WORK files (for example, change WORK 5 to WORK 4,3,2,
or 1), decrease the space allocation in the WORKSPACE
parameter, or do both.
You can also elect to explicitly specify the multiple
WORK file space allocation by adding the space
allocation values directly to the WORK statement. This
will remove the link to the prefix.MICS.PARMS(JCLDEF)
WORKSPACE parameter for multiple WORK file space
allocation. This is recommended as it serves to
clearly document, in one place, how multiple WORK files
are allocated.
- If the existing WORK statement does include space
allocation as shown in the examples below:
WORK 5 TRK 200 100
or
WORK 5 SPACE=(TRK,(200,100)) STORCLAS=MICSTEMP
Simply change the values to meet your needs.
If you need more work space, you can increase the
number of WORK files (for example, change WORK 5 to
WORK 6,7,8, or 9), increase the space allocation (for
example, change TRK 200 100 to TRK 250 120), or do
both.
To decrease work space, you can decrease the number of
WORK files (for example, change WORK 5 to WORK 4,3,2,
or 1), decrease the space allocation (for example,
change TRK 200 100 to TRK 150 80), or do both.
Note: If internal step restart is NOT active (RESTART NO)
and you change the WORK parameter, you must:
o Run cccPGEN
o Run JCLGENU for DAILY (to regenerate DAILY) and, if
incremental update is enabled, INCRccc
When internal step restart is active, (RESTART YES), then,
when you change WORK and run cccPGEN, changes take effect
immediately. There is no need to run JCLGENU.
SASWORK
-------
This statement is optional.
The WORK DD statement in the CA MICS procedures allocates
a temporary data set where SAS keeps its temporary data
files and other items that SAS uses during processing of
the current job.
By default, the space allocated is defined in the member
prefix.MICS.PARMS(JCLDEF) with the WORKSPACE and WORKUNIT
parameters, then generated into all the JCL procedures for
a given unit.
With the SASWORK statement you have the option to override
this unit-wide definition to specify the space allocation
individually for the current step.
The format of the SASWORK statement is:
SASWORK data_set_allocation_parameters
where data_set_allocation_parameters is one or more data set
allocation parameters (for example, STORCLAS or SPACE)
separated by spaces.
You can also specify the SASWORK parameter as the following:
SASWORK XXX pppp ssss
where:
XXX is TRK or CYL
pppp is the primary allocation
ssss is the secondary allocation
If you omit the data_set_allocation_parameters or the SASWORK
statement, the WORK data set is allocated according to the
values you specified for the WORKUNIT and WORKSPACE
parameters in prefix.MICS.PARMS(JCLDEF). Use the
data_set_allocation_parameters to override this default,
either to alter the space allocation or to use System Managed
Storage (SMS) parameters to control data set placement and
characteristics.
Specify data set allocation parameters, separated by blanks,
according to SAS LIBNAME statement syntax. If you need
multiple lines, repeat the SASWORK keyword on the
continuation line.
Example:
SASWORK STORCLAS=MICSTEMP SPACE=(XXX,(pppp,ssss))
where:
STORCLAS - specifies a storage class for a new data set.
The name can have up to 8 characters.
SPACE - specifies how much disk space to provide for
a new data set being allocated.
XXX - is TRK or CYL.
pppp - is the primary allocation.
ssss - is the secondary allocation.
Note: If you change the SASWORK parameter, you must:
o Run cccPGEN
o Run JCLGENU for DAILY (to regenerate DAILY) and, if
incremental update is enabled, INCRccc
MULTWORK|NOMULT fff fff ... fff
-------------------------------
Since multiple work files usage impacts performance, this
product provides these optional parameters so you can
restrict multiple work files usage to only those files having
excessive space requirements.
Note: You can only use one of these optional parameters with
the WORK statement, NOT both.
The MULTWORK parameter restricts the use of multiple WORK
files to ONLY those listed after the MULTWORK keyword.
MULTWORK fff fff ... fff
where fff is the unique three character identifier
If you need multiple lines, repeat the MULTWORK on the
continuation line.
The NOMULT parameter forces the use of multiple WORK files
for all files EXCEPT those specified after the NOMULT
keyword.
NOMULT fff fff ... fff
where fff is the unique three character identifier
If you need multiple lines, repeat the NOMULT on the
continuation line.
The default is as follows if neither MULTWORK nor NOMULT
parameters are specified:
MULTWORK DBU DDU DPP DSU DPX
The following files are eligible for multiple WORK support:
DB2 DB2 Information Area
DDU DB2 User DDF Activity File
DPP DB2 Package/DBRM Activity File
DSU DB2 User Activity File
DPX DB2 Package/DBRM Activity Work File
DBP DB2 Buffer Pool Area
DBU DB2 User Buffer Pool Activity
The following section discusses changing the WORK option:
1 - Change the Number of Work Files