The XRF message data set

The XRF message data set is used:

JCL to define the XRF message data set

Like the XRF control data set, the XRF message data set must be defined but not initialized. You can use the sample job in Figure 19 to define the XRF message data set. Alternatively, you can run the CICS-supplied job DFHDEFDS to define the XRF message data set as one of the data sets for a CICS region. For information about the DFHDEFDS job, see the CICS Transaction Server for z/OS® Installation Guide.

If you use the sample JCL in Figure 19, read the accompanying notes; the other options shown are suggestions only.

You should define the XRF message data set on a volume that is not subject to RESERVE activity, and should not locate it where a single failure can make both it and the XRF control data set inaccessible. This reduces the risk of the surveillance signal being stopped accidentally while CICS is still running normally.

The XRF message data set is reserved for a short time for formatting when CICS uses it for the first time.

Figure 19. Sample job to define the XRF message data set
//CICSMSG   JOB   'accounting info',name,MSGCLASS=A
//XRMSG     EXEC  PGM=IDCAMS
//DDNAME2   DD    DISP=OLD,UNIT=3380,VOL=SER=volid2
//SYSPRINT  DD    SYSOUT=A
//SYSIN     DD    *
       DEFINE CLUSTER -
                (NAME(CICSTS31.CICS.applid.DFHXRMSG) -
                 RECORDSIZE(4089 4089)         -                   1 
                 CONTROLINTERVALSIZE(4096)     -                   2 
                 RECORDS(1500)                 -
                 NIXD                          -
                 SHAREOPTIONS(3,3)             -                   3 
                 VOL(volid2)                   -
                 FILE(DDNAME2))                -
              DATA                             -                   4 
                (NAME(CICSTS31.CICS.applid.DFHXRMSG.DATA))
/*
//

Notes:

 1  The RECORDSIZE must be at least 4089.

 2  The control interval sizes of the XRF message data set and the XRF control data set must be equal, and at least 4096 bytes.

If the CI size of the XRF message data set is greater than 4096, the CI buffers occupy more real storage and virtual storage above the 16MB line, although fewer I/O operations occur during the "catch-up" phase.

 3  The SHAREOPTIONS must be specified as 3,3.

 4  The data set must not be indexed.

Space calculations

It is difficult to give a simple answer to the question: "How big should my XRF message data set be?" A simple answer is that the size required depends on the length and number of messages that have been sent by the active CICS region but not yet received by the alternate CICS region.

The XRF message data set is written and read cyclically. When the alternate CICS region has read a message, that space becomes available for another message on the next cycle. It is important to make the data set large enough to store the backlog of messages that accumulates if the alternate CICS region is held up for any reason. If the data set is too small, you run the risk of the alternate CICS region being unable to read the data set correctly, and thereby becoming incapable of taking over. However, the active CICS region does not write messages to the data set until it has been notified that an alternate CICS region is present (signed on to CAVM), and able to receive them.

The peak in message traffic usually occurs during the "catch-up" phase shortly after the active CICS region detects the presence of the alternate CICS region. You may be able to estimate the amount of space you need from the number of terminal resources you have. The active CICS region sends messages about these resources:

Table 15 lists the sizes of the various messages sent to the data set.

Table 15. Sizes of messages sent to the XRF message data set
 
Type of TCT entry
 
Bytes per install
The CICS-generated TCT entries (2 only) 629
VTAM terminals 710
Non-3270 devices with pipeline logical units and TASKNO= operand (or TASKLIMIT if RDO) is specified 581 x TASKNO value
MVS™ consoles 389
LUTYPE6.2 connection 2083
LUTYPE6.2 mode 169 + (837 x maximum number of sessions)
LUTYPE6.1 connection 226 + (732 x number of sessions)
IRC 237 + (520 x number of sessions)
IRCBCH 240 + (565 x number of sessions)

For VTAM terminals only, you should also make allowance for the following:

Table 16. Additional space requirements (VTAM terminals only)
Bytes per logon Bytes per logoff Bytes per signon Bytes per sign-off
70 35 45 29

The alternate CICS region issues some messages that can help you with your sizing. The following messages issued by the alternate CICS region can give you an idea of the rate of message transfer:

DFHTC1041I applid TERMINAL CONTROL TRACKING STARTED
DFHTC1040I applid TERMINAL CONTROL TRACKING RECORDS RECEIVED
DFHTC1043I applid TERMINAL CONTROL TRACKING ENDED - nnn RECORDS RECEIVED

The following messages may indicate that the XRF message data set is not large enough:

DFHXG6447I NON CRUCIAL XRF MESSAGE(S) DISCARDED
DFHXA6541I XRF HAS FAILED. THE XRF MESSAGE READER IN THE ALTERNATE
                                        SYSTEM HAS FALLEN TOO FAR BEHIND

Crucial and non-crucial messages

The active CICS region classifies its messages as crucial or non-crucial. An example of a crucial message is an autoinstall message that the alternate CICS region must receive if it is to remain eligible to take over. An example of a non-crucial message is a logon message. The alternate CICS region can tolerate the loss of such a message, and the loss only results in some degradation at takeover; no standby session is established for that terminal and it must be logged on again. Install messages that form part of the initial description are also treated as non-crucial, because the active CICS region can try to send them again later, and the alternate CICS region can construct its tables from the CICS catalog if it does not receive a complete initial description.

The active discards non-crucial messages if it decides that sending them may overwrite messages that the alternate CICS region has not yet read, thereby making it ineligible to take over. It issues message DFHXG6447I for the first such discard. The active CICS region always sends crucial messages. If this causes an unread message to be overwritten, the alternate CICS region detects it and terminates after issuing message DFHXA6541I.

Effect of a full XRF message data set on the active CICS region

The active CICS region is not affected by the state of the XRF message data set. It continues running even when the data set is full; only the alternate CICS region fails. Further, the XRF message data set is only "full" to the alternate CICS region that fails; you can start a new alternate CICS region, using the same XRF message data set, and the active CICS region resends all the messages for the new alternate CICS region to begin tracking. If the first failure was caused by some unusual condition, you may not need to increase the size of the XRF message data set.

However, if messages DFHXG6447I or DFHXA6541I occur too often, you must stop the active CICS region so that you can change to a larger data set.

Job control statement for CICS execution

The DDNAME required for CICS execution is DFHXRMSG. The following JCL statement can be used:

//DFHXRMSG  DD    DSN=CICSTS31.CICS.applid.DFHXRMSG,DISP=SHR
[[ Contents Previous Page | Next Page Index ]]