z/OS DFSMSdss Storage Administration
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Enqueuing—ENQ

z/OS DFSMSdss Storage Administration
SC23-6868-01

The following material describes enqueue options for data set serialization. Enqueues are done on the data set name for the data set copy, data set dump, data set restore, defragment, print, compress, and release operations to prevent multiple, simultaneous updates to the same data set.

The SHARE option has unique properties when applied to the following commands:
  • For the RESTORE command, SHARE applies to non-VSAM data sets only.
  • For the DUMP and COPY commands, SHARE applies to non-VSAM data sets and VSAM data sets that are defined with share options other than (1,3) and (1,4).

If you do not specify the SHARE option, DFSMSdss tries to provide the highest level of data integrity by defaulting to exclusive enqueuing. The command is in a wait state for X seconds if the enqueue fails. WAIT specifies X (numsecs, numretries), and retries the enqueue. If the wait-enqueue sequence fails after Y retries (where WAIT specifies Y (numsecs, numretries)), data set processing ends.

In the case of a multistep job where the initiator holds a shared enqueue on the data set, DFSMSdss upgrades the enqueue to exclusive unless SHARE is specified. The initiator holds the exclusive enqueue until the last step in the job that references the data set has completed.

If you specify the SHARE keyword, DFSMSdss tries an enqueue for share. If it fails, it goes through the same logic as if SHARE had not been specified. If the retries all fail, processing ends for the data set.

You can specify TOLERATE(ENQFAILURE) in addition to the default, ENQ, or the SHARE option. If TOLERATE(ENQFAILURE) is specified, DFSMSdss attempts to get the specified level of enqueue, exclusive or share. If the enqueue fails after the specified or default number of retries, DFSMSdss processes the data set without an enqueue. Specify TOLERATE(ENQFAILURE) if you are willing to tolerate the exposure of not having data integrity in order to force the successful completion of that particular data set operation. This is particularly useful when an installation has duplicate data sets (different data sets with the same name but on different volumes) and you want to run DFSMSdss on a data set on one volume while the data set with the same name is being used by the system or another job on a different volume.
Note: Because of ENQ contention, SYSPRINT data sets should not be allocated on volumes being processed. TOLERATE(ENQFAILURE) cannot apply to data movements that involve the use of utilities.

Table 1 shows the data set enqueue options.

TOLERATE(ENQFAILURE) can be used on VSAM and non-VSAM data sets.

Table 1. Data Set Enqueue Options for Non-VSAM Data Sets Specified on DFSMSdss Commands
Options None SHARE TOLERATE(ENQFAILURE) SHARE and TOLERATE(ENQFAILURE)
Type of enqueue attempted Exclusive Share Exclusive Share
If enqueue is successful Process Process Process Process
If enqueue is not successful Do not process Do not process Process without enqueue Process without enqueue

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014