Allocating the write-ahead data set (WADS)

Start of changeThe write-ahead data set (WADS) is a DASD data set containing a copy of log records reflecting committed operations in the OLDS buffers that have not yet been written to the OLDS. WADS space is continually reused after the records it contains are written to the OLDS. The recommended size for your WADS varies by your environment.End of change

You can specify this required data set by JCL, or you can dynamically allocate it. The WADS ddname is DFSWADSn, where n is a number 0 - 9. If you define multiple instances of a WADS, they are used in the WADS DD statement suffix sequence as indicated by the n in the ddname. Preallocate the WADS on DASD supporting Extended Count Key Data (ECKD™) architecture and then format the WADS with a /NRE or /ERE FORMAT WA command at least once before it is used. Each WADS must be on the same device type and have the same space allocation.
Recommendation: For increased performance, allocate each WADS on a minimally used device and data path.

Dual WADSs provide an alternative source of input to the OLDS in case an error occurs on one WADS while IMS™ uses it to close the OLDS. You can use single or dual WADS logging with either single or dual OLDS logging. Specify single or dual WADS logging by using the WADS=S or WADS=D parameter. Define at least two WADSs before enabling dual WADS logging.

You can define up to 10 WADSs to use as spares. IMS automatically switches to a spare WADS if the current WADS becomes unusable after an error occurs. If a write error occurs, logging to the WADS continues if there is at least one WADS is available (for single logging) or two WADSs are available (for dual logging). If you use dual logging, define at least three WADSs so that IMS can activate the spare if a write error occurs. For additional resiliency, define each WADS on a different hardware device.

Define the initial set of WADSs to be acquired by restart initialization in the WADSDEF control statement in the DFSVSMxx member of the IMS PROCLIB data set.

The following table shows how many WADS tracks are needed for different OLDS block sizes.

Table 1. OLDS buffers per WADS track
OLDS block size WADS on 3380 WADS on 3390
6 KB Start of change6.67End of change Start of change8.00End of change
8 KB Start of change5.00End of change Start of change6.00End of change
10 KB Start of change4.00End of change Start of change4.80End of change
12 KB Start of change3.33End of change Start of change4.00End of change
14 KB Start of change2.86End of change Start of change3.43End of change
16 KB Start of change2.50End of change Start of change3.00End of change
18 KB Start of change2.22End of change Start of change2.67End of change
20 KB Start of change2.00End of change Start of change2.40End of change
22 KB Start of change1.82End of change Start of change2.18End of change
24 KB Start of change1.67End of change Start of change2.00End of change
26 KB Start of change1.54End of change Start of change1.85End of change
28 KB Start of change1.43End of change Start of change1.71End of change
30 KB Start of change1.33End of change Start of change1.60End of change

Start of changeIn a non-DASD mirroring environment, set the number IMS WADS cylinders to the number of defined OLDS buffers divided by 20 (rounded up).End of change

Start of changeIn a DASD mirroring environment, set the number of IMS WADS cylinders to at least 300 or the number of defined OLDS buffers divided by 20 (rounded up), whichever is greater. This is done to reduce the rate at which the WADS wraps back to the beginning of the data set. End of change

Start of changeA larger WADS size does not adversely affect IMS logger performance and can provide more stability during brief increases in logging activity, such as checkpoints, during increases in write response times, such as OLDS switches, and with DASD cache destage issues. However, a larger WADS size affects the time of an emergency restart or a take-over in an extended recovery facility (XRF) environment.End of change

The WADS must be at least five tracks.

You can enable your WADS to use extended address volumes (EAVs) that are available in z/OS® V1.12 or later. To enable a WADS to use EAVs, specify an EAV volume on the VOLSER parameter of the DFSWADSnn DD statement when you allocate the data set. In addition, you can specify the attribute EATTR to indicate whether the data set supports extended attributes.

Restriction: Data sets with EATTR=OPT specified cannot be shared with an IMS Version 11 system because IMS Version 11 does not support extended attributes.