JCL DD statements for Db2 stand-alone log services
Stand-alone services, such as OPEN, GET, and CLOSE, use a variety of JCL DD statements as they operate.
The
following tables list and describe the JCL DD statements that are
used by stand-alone services.
| JCL DD statement | Explanation |
|---|---|
| BSDS | Specifies the bootstrap data set (BSDS). Optional. Another ddname can be used for allocating the BSDS, in which case the ddname must be specified as a parameter on the FUNC=OPEN. Using the ddname in this way causes the BSDS to be used. If the ddname is omitted on the FUNC=OPEN request, the processing uses DDNAME=BSDS when attempting to open the BSDS. |
| ARCHIVE | Specifies the archive log data sets to be read. Required if an archive data set is to be read and the BSDS is not available (the BSDS DD statement is omitted). Should not be present if the BSDS DD statement is present. If multiple data sets are to be read, specify them as concatenated data sets in ascending log RBA order. |
| ACTIVEn | (Where n is a number from 1 to 7). Specifies an active log data set that is to be read. Should not be present if the BSDS DD statement is present. If only one data set is to be read, use ACTIVE1 as the ddname. If multiple active data sets are to be read, use DDNAMEs ACTIVE1, ACTIVE2, ... ACTIVEn to specify the data sets. Specify the data sets in ascending log RBA order with ACTIVE1 being the lowest RBA and ACTIVEn being the highest. |
| JCL DD statement | Explanation |
|---|---|
| GROUP | If you are reading logs
from every member of a data sharing group in LRSN sequence, you can
use this statement to locate the BSDSs and log data sets needed. You
must include the data set name of one BSDS in the statement. Db2 can find
the rest of the information from that one BSDS. All members' logs and BSDS data sets must be available. If you use this DD statement, you must also use the LRSN and RANGE parameters on the OPEN request. The GROUP DD statement overrides any MxxBSDS statements that are used. (Db2 searches for the BSDS DD statement first, then the GROUP statement, and then the MxxBSDS statements. If you want to use a particular member's BSDS for your own processing, you must call that DD statement something other than BSDS.) |
| MxxBSDS | Names the BSDS data set
of a member whose log must participate in the read operation and whose
BSDS is to be used to locate its log data sets. Use a separate MxxBSDS DD statement for
each Db2 member. xx can
be any two valid characters. Use these statements if logs from selected members of the data sharing group are required and the BSDSs of those members are available. These statements are ignored if you use the GROUP DD statement. For one MxxBSDS statement, you can use either RBA or LRSN values to specify a range. If you use more than one MxxBSDS statement, you must use the LRSN to specify the range. |
| MyyARCHV | Names the archive log
data sets of a member to be used as input. yy can
be any two valid characters that do not duplicate any xx used
in an MxxBSDS DD statement.
Concatenate all required archived log data sets of a given member in time sequence under one DD statement. Use a separate MyyARCHV DD statement for each member. You must use this statement if the BSDS data set is unavailable or if you want only some of the log data sets from selected members of the group. If you name the BSDS of a member by a MxxBSDS DD statement, do not name the log of the same member by an MyyARCHV statement. If both MyyARCHV and MxxBSDS identify the same log data sets, the service request fails. MyyARCHV statements are ignored if you use the GROUP DD statement. |
| MyyACTn | Names the active log
data set of a member to be used as input. yy can
be any two valid characters that do not duplicate any xx used
in an MxxBSDS DD statement.
Use the same characters that identify the MyyARCHV statement for
the same member; do not use characters that identify the MyyARCHV statement for
any other member. n is a number from 1 to 16. Assign
values of n in the same way as for ACTIVEn DD statements. You can use this statement if the BSDS data sets are unavailable or if you want only some of the log data sets from selected members of the group. If you name the BSDS of a member by a MxxBSDS DD statement, do not name the log of the same member by an MyyACTn statement. MyyACTn statements are ignored if you use the GROUP DD statement. |
The DD statements must specify the log data sets in ascending order of log RBA (or LRSN) range. If both ARCHIVE and ACTIVEn DD statements are included, the first archive data set must contain the lowest log RBA or LRSN value. If the JCL specifies the data sets in a different order, the job terminates with an error return code with a GET request that tries to access the first record breaking the sequence. If the log ranges of the two data sets overlap, this is not considered an error; instead, the GET function skips over the duplicate data in the second data set and returns the next record. The distinction between out-of-order and overlap is as follows:
- An out-of-order condition occurs when the log RBA or LRSN of the first record in a data set is greater than that of the first record in the following data set.
- An overlap condition occurs when the out-of-order condition is not met but the log RBA or LRSN of the last record in a data set is greater than that of the first record in the following data set.
Gaps within the log range are permitted. A gap is created when one or more log data sets containing part of the range to be processed are not available. This can happen if the data set was not specified in the JCL or is not reflected in the BSDS. When the gap is encountered, an exception return code value is set, and the next complete record after the gap is returned.
Normally, the BSDS
DD name is supplied in the JCL, rather than a series of ACTIVE DD
names or a concatenated set of data sets for the ARCHIVE ddname. This
is commonly referred to as running in BSDS mode
.