Archiving CICS journals


RUV can read recovery information from CICS CICS4.x journal extents and record the recovery information to one or more RUV archives. You must archive CICS extents each time they switch; otherwise, the information in them may be overlaid, creating an integrity exposure. You can add a step to the journal switch job to perform the RUV archive.

For information about archiving other journal formats, see Archiving-z-OS-log-streams, Archiving-RPCV-journals, and Recovering-a-RUV-repository-using-SMF-data.

Also see References to CICS concerning journal support for unsupported CICS releases.

Note

The JOURNAL MANAGER PLUS product from BMC Software can submit a user-defined archive job every time the CICS journal switches and can prevent the extents from being overwritten until the archive job completes successfully. For more information, see the JOURNAL MANAGER PLUS documentation set.

You must supply an APPLID value since CICS extent does not contain this data. RUV allows you to make more than one copy of the data with a single pass of the input.

For RUV to process and build the archive file correctly, input that is coming from the IBM DFHJUP utility into RUV must be defined as RECFM=VB and have the LOCAL option specified on the SUBSYS parameter. For information about batch processing of log stream data and about valid subsystem parameters, refer to the IBM documentation about CICS Transaction Server operations and utilities.

Note

The default time on the output file from the DFHJUP utility is provided in GMT. To specify the local time as the time on the output file, use the LOCAL keyword option.

This topic contains the following information:

Using the ARCHIVE JOURNAL_IN command

To archive a CICS extent, use the ARCHIVE JOURNAL_IN command, as shown in the following example:

ARCHIVE JOURNAL_IN(DFHJ05A) APPLID(C41P2)
    ARCHIVE_OUT(JOUT1)
    ARCHIVE_OUT(JOUT2);


Note

The APPLID must be supplied in the command. CICS does not supply this information.

Using the JOURNAL_IN keyword

Use the required JOURNAL_IN keyword on the ARCHIVE JOURNAL_IN command to identify the source of the CICS data to archive. Set the value to the fully qualified data set name or to the ddname of the journal extent in the JCL.

Using the APPLID keyword

Use the required APPLID keyword on the ARCHIVE JOURNAL_IN command to map the CICS APPLID to the corresponding data set name. Set the value to the APPLID.

Using the COMPLETE_COPY keyword

You should use the COMPLETE_COPY keyword only at the request of Product Support. Use this optional keyword on the ARCHIVE JOURNAL_IN command to copy the data from the journal in its original format, as well as copying the recovery data in RUV format. Although RUV needs only the recovery data from the journal, copying all data can be of benefit in the problem analysis effort. Copying all data increases the output size two or more times over the output size of copying recovery data in RUV format only.

This keyword has no values. If it is present, RUV copies all original data. If it is absent, RUV copies only the recovery data in RUV format.

Using the ARCHIVE_OUT keyword

Use the required ARCHIVE_OUT keyword on the ARCHIVE JOURNAL_IN command to identify the data set to contain the output archive data. Set the value to the ddname of the data set in the JCL. You can have RUV create multiple copies of the output archive by coding multiple ARCHIVE_OUT keywords. RUV registers all output archives in the repository.

Using the UNIT_OF_WORK_OUT keyword

Use the optional UNIT_OF_WORK_OUT keyword on the ARCHIVE JOURNAL_IN command to identify the data set to contain the output UOW archive data. This keyword is required if the archive will be used for a UOW recovery. Set the value to the ddname of the data set in the JCL.

Using Optional Output keywords

You can use the following optional keywords with the ARCHIVE_OUT and UNIT_OF_WORK_OUT keywords:

Code these keywords and their values after the ddname value but before the closing parenthesis for the ARCHIVE_OUT value. Only one archive copy should have an active status.

Coding ARCHIVE JOURNAL_IN statements

To code an ARCHIVE JOURNAL_IN statement, use the following syntax:

ARCHIVE JOURNAL_IN(ddn8_or_dsn44)
    APPLID(applid8)
    { COMPLETE_COPY }
    ARCHIVE_OUT(ddn8
        { LOCATION(location_name8) }
        { COMMENT(comment_fields) }
        { STATUS(ACTIVE | INACTIVE) }
        { MUST_COMPLETE (YES | NO) }
        )
  { UNIT_OF_WORK_OUT(ddn8) }
    { COMMENT(comment_fields) }
    { LOCATION(location_name8) }
    { STATUS(ACTIVE | INACTIVE) }
    { MUST_COMPLETE (YES | NO) }
  { ARCHIVE_OUT(ddn8, ... }
    ;


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*