Preparing and using Resync control statements

If any transactions have in-doubt status at IMS, MVS™, or a system abnormal termination in a two-phase commit process environment such as DBCTL, you must use Resync control statements to specify whether to commit or abort the in-doubt transactions in the sync point process.

Procedure

  1. Determine which transactions have in-doubt status.
    Select one of the following methods (1-a, 1-b, or 1-c) or make your own method for determining an in-doubt transaction that suits your environment.
    1-a.
    List recovery tokens that have an in-doubt status at IMS failure.

    The IMS master console log shows DFS0693I messages for RIS (Recoverable Indoubt Structure) created by transactions. The message shows the recovery token for the transaction. List these recovery tokens.

    Note: Though the sync point process phase 1 of the transaction is completed, if RIS has not been created yet, you cannot get a recovery token.
    1-b.
    Run IMS DEDB Fast Recovery to get recovery tokens with in-doubt status at IMS failure. The execution is done without specifying Resync control statements in the RESYNCTL DD. If there is a transaction with in-doubt status, IMS DEDB Fast Recovery ends with RC=16 without doing recovery and generates a Resync Control Statement list showing all recovery tokens of in-doubt transactions.
    Note: This method is surer than method 1-a. If, however, there is an in-doubt transaction, you must run IMS DEDB Fast Recovery twice.
    1-c.
    Take no action to determine the in-doubt transactions.

    If the action for an in-doubt transaction is always the same, you do not have to determine the recovery tokens for in-doubt transactions. In this case, specify only UOR=ALL in Step 3.

  2. Determine whether each in-doubt transaction must be committed or aborted.
  3. Prepare the Resync control statements.

    According to the result of Step 1 and 2, prepare the Resync control statements. See Resync control statement for information about coding the Resync control statements.

  4. Run IMS DEDB Fast Recovery with the Resync control statements.

    If you selected Step 1-a, IMS DEDB Fast Recovery cannot resolve the in-doubt status of a transaction that has completed the sync point process phase 1 but for which RIS has not been created yet. In this case, IMS DEDB Fast Recovery ends with RC=16 without recovery, and generates the Resync Control Statement list, which shows all recovery tokens for transactions in in-doubt status. Add the recovery tokens that have in-doubt status without RIS creation, and repeat the procedure, starting from Step 2.

    Note: IMS DEDB Fast Recovery writes a resync commit log record (X'5637') or resync abort log record (X'5638') according to Resync control statements. Then IMS DEDB Fast Recovery closes the OLDS. You cannot change the actions for in-doubt transactions after recovery.