Recovery for extrapartition transient data
CICS does not recover extrapartition data sets. If you depend on extrapartition
data, you will need to develop procedures to recover data for continued execution
on restart following either a controlled or an uncontrolled shutdown of CICS.
There are two areas to consider in recovering extrapartition data sets:
v Input extrapartition data sets
v Output extrapartition data sets
Input extrapartition data sets
The main information required on restart is the number of records processed up to
the time the system ended. This can be recorded during processing, using CICS
journaling, as described in the following paragraphs.
Each application program that reads records from extrapartition input queues
should first enqueue exclusive access to those queues. This prevents interleaved
access to the same queues by other concurrently executing tasks.
The application programs then issue READQ TD commands to read and process
extrapartition input records. In this way, they accumulate the total of input records
read and processed during execution for each queue. The total number of READQ
operations is written to a journal data set, together with the relevant destination
identifications. This journaling should be done immediately before RETURN or
SYNCPOINT commands.
Following output of the journal record, each application program dequeues itself
from the extrapartition input queues to permit other application programs to
access those queues.
If uncontrolled shutdown occurs before this journaling, no records will appear on
the journal data set for that unit of work. The effect of that in-flight task is,
therefore, automatically backed out on emergency restart. However, if the journal
record is written before uncontrolled shutdown, this completed input data set
processing will be recognized on emergency restart.
On emergency restart following uncontrolled shutdown or on a warm start
following a controlled shutdown, use the following procedure, which will
reposition the extrapartition input data sets to reflect the input and processing of
their records during previous CICS operation.
You can identify an extrapartition input recovery program in the PLT for execution
during the initialization phase. This program reads the journal data set forward.
Each journaled record indicates the number of READQ operations performed on
the relevant extrapartition input data set during previous execution of application
programs. The same number of READQ TD commands is issued again by the
recovery program, to the same input queue that was referenced previously.
On reaching the end of the journal data set, the extrapartition input data sets are
positioned at the same point they had reached before the initiation of tasks that
were in-flight at uncontrolled shutdown. The result is the logical recovery of these
input data sets with in-flight task activity backed out.
134 CICS TS for z/OS 4.1: Recovery and Restart Guide