CICS ARM processing

A prime objective of CICS® support for the MVS™ automatic restart manager (ARM) is to preserve data integrity automatically in the event of any system failure. If CICS is restarted by ARM with the same (persistent) JCL, CICS forces START=AUTO to ensure data integrity.

Registering with ARM

During initialization CICS registers with ARM automatically.

CICS always registers with ARM because CICS needs to know whether it is being restarted by ARM and, if it is, whether or not the restart is with persistent JCL. (The ARM registration response to CICS indicates whether or not the same JCL that started the failed region is being used for the ARM restart.) You indicate whether MVS is to use the same JCL or command text that previously started CICS by specifying PERSIST as the restart_type operand on the RESTART_METHOD parameter in your automatic restart management policy.

When it registers with ARM, CICS passes the value ‘SYSCICS ’ as the element type, and the string ‘SYSCICS_aaaaaaaa’ as the element name, where aaaaaaaa is the CICS applid. Using the applid in the element name means that only one CICS region can successfully register with ARM for a given applid. If two CICS regions try to register with the same applid, the second register is rejected by ARM.

Waiting for predecessor subsystems

During initialization CICS issues an ARM WAITPRED (wait predecessor) request to wait, if necessary, for predecessor subsystems (such as DB2® and DBCTL) to become available. This is indicated by message DFHKE0406. One reason for this wait is to ensure that CICS can resynchronize with its partner resource managers for recovery purposes before accepting new work from the network.

De-registering from ARM

During normal shutdown, CICS de-registers from ARM to ensure that it is not automatically restarted. Also, if you want to perform an immediate shutdown and do not want ARM to cause an automatic restart, you can specify the NORESTART option on the PERFORM SHUT IMMEDIATE command.

CICS also de-registers during initialization if it detects XRF=YES is specified as a system initialization parameter--XRF takes precedence over ARM.

Some error situations that occur during CICS initialization cause CICS to issue a message, with an operator prompt to reply GO or CANCEL. If you reply CANCEL, CICS de-registers from ARM before terminating, because if CICS remained registered, an automatic restart would probably encounter the same error condition.

For other error situations, CICS does not de-register, and automatic restarts follow. To control the number of restarts, specify in your ARM policy the number of times ARM is to restart a failed CICS region.

Failing to register

If ARM support is present but the register fails, CICS issues message DFHKE0401. In this case, CICS does not know if it is being restarted by ARM, and therefore it doesn’t know whether to override the START parameter to force an emergency restart to preserve data integrity.

If START=COLD or START=INITIAL is specified as a system initialization parameter and CICS fails to register, CICS also issues message DFHKE0408. When CICS is restarting with START=COLD or START=INITIAL, CICS relies on ARM to determine whether to override the start type and change it to AUTO. Because the REGISTER has failed, CICS cannot determine whether the region is being restarted by ARM, and so does not know whether to override the start type. Message DFHKE0408 prompts the operator to reply ASIS or AUTO, to indicate the type of start CICS is to perform:

ARM couple data sets

You must ensure that you define the couple data sets required for ARM, and that they are online and active before you start any CICS region for which you want ARM support:

See OS/390 MVS Setting Up a Sysplex for information about ARM couple data sets and ARM policies.

[[ Contents Previous Page | Next Page Index ]]