Specifying the START system initialization parameter

You can influence the type of startup that CICS performs, by specifying the START system initialization parameter, as follows:

START=AUTO
If you code AUTO as the START operand, CICS determines which of four possible types of start to perform by looking for two records which may or may not be present in the global catalog:
  • The recovery manager control record
  • The recovery manager autostart override record
Depending on whether either or both of these records exist, and their contents, CICS decides which type of start to perform:
Initial start
CICS performs an initial start in each of the following cases:
  • There is a recovery manager autostart override record that specifies AUTOINIT in the global catalog.
  • The control record specifies an initial start. (This can happen if a previous initial start failed.)
Note: Because certain domains store information in the local catalog, if you set CICS to perform an initial start, you should reinitialize the local catalog before you bring up CICS. For more information on domains that write to the local catalog, see Domains that write to the local catalog.
Cold start
CICS performs a cold start in the following cases:
  • The recovery manager control record specifies a cold start. (This can happen if a previous cold start did not complete.)
  • There is both a recovery manager control record (which specifies anything other than an initial start) and an autostart override record that specifies AUTOCOLD.

Log records for local resources are purged and resource definitions rebuilt from the CSD or CICS control tables. Units of work on other systems are resynchronized with this system, as described under START=COLD.

Warm start
If the recovery manager control record indicates that the previous run of CICS terminated normally with a successful warm keypoint, CICS performs a warm restart—unless the autostart override record specifies AUTOINIT or AUTOCOLD, in which case an initial or cold start is performed.

For the warm restart to be successful, the local catalog must contain the information saved by the CICS domains during the previous execution.

A warm start restores CICS to the state it was in at the previous shutdown.

You can modify a warm restart by coding the NEWSIT system initialization parameter. This has the effect of enforcing the system initialization parameters coded in the SIT, overriding any cataloged status from the previous CICS shutdown.

The exceptions to this is the system initialization parameter FCT, the CSDxxxxx group (for example CSDACC), and GRPLIST, which are always ignored in a warm restart, even if you specify NEWSIT=YES. Specifying NEWSIT=YES causes, in effect, a partial cold start.

Emergency start
If the control record in the global catalog indicates that the previous run of CICS terminated in an immediate or uncontrolled shutdown, CICS performs an emergency restart.

START=AUTO should be the normal mode of operation, with the choice of start being made by CICS automatically. Use the recovery manager utility program, DFHRMUTL, to set overrides.

START=INITIAL
CICS initializes using the resource definitions specified by the system initialization parameters, ignoring any previously installed resource definitions saved in a warm keypoint in the global catalog. This includes all the groups of resources specified by the GRPLIST system initialization parameter, and those resources specified in CICS control tables.
Note: The global catalog and system log are initialized, and all information in them is lost. Because recovery information for remote systems is not preserved, damage may be done to distributed units of work

You should rarely need to specify START=INITIAL; if you want to reinstall definitions of local resources from the CSD, use START=COLD instead.

Examples of times when an initial start is necessary are:
  • When bringing up a new CICS system for the first time.
  • After a serious software failure, when the system log has been corrupted.
  • If the global catalog is cleared or reinitialized.
  • When you want to run CICS with a dummy system log. (If the system log is defined as a dummy, it is ignored.)
If it is necessary to perform an initial start of CICS, you can do so in two ways:
  • By specifying START=INITIAL.
  • By using the recovery manager utility program, DFHRMUTL, to set the autostart override record to AUTOINIT, and specifying START=AUTO.
Note: An initial start does not automatically reinitialize the local catalog.
START=COLD
CICS initializes using the resource definitions specified by the system initialization parameters, ignoring any previously installed resource definitions saved in a warm keypoint in the global catalog. This includes all the groups of resources specified by the GRPLIST= system initialization parameter, and those resources specified in CICS control tables.

Recovery information relating to remote systems or to RMI-connected resource managers is preserved. The CICS log is scanned during startup, and any information regarding unit of work obligations to remote systems, or to non-CICS resource managers (such as Db2®) connected through the RMI, is preserved. (That is, any decisions about the outcome of local UOWs, needed to allow remote systems or RMI resource managers to resynchronize their resources, are preserved.)

Note that, on a cold start, the following are not preserved:
  • Updates to local resources that were not fully committed or backed out during the previous execution of CICS. In particular, although remote systems may resynchronize their units of work successfully, local resources updated in those distributed units of work are not locked and need not be in either a committed or a backed-out state.
  • Recovery information for remote systems connected by LU6.1 links, or for earlier releases of CICS systems connected by MRO.
  • Any program LIBRARY definitions that had been dynamically defined. Only the static DFHRPL concatenation will remain, together with any LIBRARY definitions in the grouplist specified at startup or installed via BAS at startup.

A start initiated by START=COLD is not entirely without reference to the previous run of a CICS system using the same global catalog. If you want to perform a fully cold start of CICS, without reference to any previous execution, code START=INITIAL. If you want to reinstall definitions of local resources from the CSD, use START=COLD.

There may be times when it is necessary to perform a cold start of CICS, irrespective of the type of system termination that CICS recorded in the global catalog. You can do this in two ways:
  • By specifying START=COLD.
  • By using DFHRMUTL to set the autostart override record to AUTOCOLD, and specifying START=AUTO.
Note: A cold start does not automatically reinitialize the local catalog.
Table 1 shows how the effect of the START parameter depends on the state of the CICS global catalog and system log.
Note: If the system log is defined as a dummy, it is ignored.
Table 1. Effect of the START= parameter in conjunction with the global catalog and system log
START parm. State of global catalog State of system log   Result at restart
Any. Not defined to VSAM. Any. JCL error.
INITIAL Defined. Any. CICS performs an initial start. The global catalog and system log are initialized.
COLD Defined but contains no recovery manager control record. Any. After prompting for confirmation, CICS performs an initial start. The global catalog and system log are initialized.
COLD Contains recovery manager records. Not defined or dummy or empty. Message DFHRM0401 is issued. Startup fails.
COLD Contains recovery manager records. Contains records from previous run. CICS performs a cold start. Recovery records in the system log that relate to changes to local resources are deleted.
AUTO Defined but contains no recovery manager control record and no AUTOINIT autostart override. Any. Message DFHRM0137 is issued. Startup fails.
AUTO Contains a recovery manager AUTOINIT autostart override. Any. CICS performs an initial start, without prompting. The global catalog and system log are initialized.
AUTO Contains a recovery manager control record that does not indicate an initial start, and an AUTOCOLD autostart override. Contains records from previous run. CICS performs a cold start. Recovery records in the system log that relate to changes to local resources are deleted.
AUTO Contains recovery manager records, but no AUTOINIT override. Not defined or dummy or empty. Message DFHRM0401 is issued. Startup fails.
AUTO Contains a recovery manager control record indicating an initial start. Any. CICS performs an initial start. The global catalog and system log are initialized.
AUTO Contains a recovery manager control record indicating a cold start, and no autostart override. Contains records from previous run. CICS performs a cold start. Recovery records in the system log that relate to changes to local resources are deleted.
AUTO Contains a recovery manager control record indicating an emergency start, and no autostart override. Contains records from previous run. CICS performs an emergency start.
AUTO Contains a recovery manager control record indicating a warm start, and no autostart override. Contains records from previous run. CICS performs a warm start.
Note:
  1. It is important to keep the CICS global and local catalogs in step. If CICS tries to perform a warm or emergency start and finds that the local catalog has been initialized, startup fails. Therefore, only initialize the local catalog at the same time as the global catalog.
  2. It is recommended that you always run the DFHRMUTL and DFHCCUTL utilities in the same job. Run DFHRMUTL first and check its return code before running DFHCCUTL. If you do this, the global and local catalogs should never get out of step.

Table 2 shows the effect of different types of CICS startup on the CICS trace, monitoring, statistics, and dump domains.

Table 2. Effect of the type of startup on CICS domains
  Domain State of the CICS catalogs Warm or emergency start Initial or cold start
Trace Not relevant. Domain initializes according to the system initialization parameters. Domain initializes according to the system initialization parameters.
Monitoring The global catalog is newly initialized. Domain initializes according to the system initialization parameters. Domain initializes according to the system initialization parameters.
Monitoring The global catalog contains status of monitoring at the previous CICS shutdown. Domain uses monitoring status from the catalog, but modified by any system initialization override parameters. Domain initializes according to the system initialization parameters.
Statistics The global catalog is newly initialized. Domain initializes according to CICS-defined system default values. Domain initializes according to CICS-defined system default values.
Statistics The global catalog contains status of statistics at CICS shutdown. Domain uses statistics status from the catalog. Domain initializes according to CICS-defined system default values.
Dump The global catalog is newly initialized. Domain initializes the dump table according to CICS-defined system default values. Other dump attributes are set by system initialization parameters. Domain initializes an empty dump table, and takes CICS-defined default action for all dump requests. Other dump attributes are set by system initialization parameters.
Dump The global catalog contains dump status at CICS shutdown. Domain reads the dump table and dump status from the catalog. Other dump attributes are modified by any system initialization parameters. Domain initializes an empty dump table, and takes CICS-defined default action for all dump requests. Other dump attributes are set by system initialization parameters.