Controlling start and restart

The type of initialization that CICS® performs is not only determined by the START parameter. The CICS local and global catalogs also play a major role in the initialization process, together with any system initialization parameters that you provide, either in the SIT or at run time by one of the three methods described in Using system initialization control keywords..

The role of the CICS catalogs

CICS uses its catalogs to save information between CICS shutdown and the next restart.

The global catalog

CICS uses the global catalog to save all resource definitions that are installed at CICS shutdown. These are:

The resource definitions that CICS saves at its shutdown may have been installed during a cold start (from a list of groups specified by a group list system initialization parameter), or during CICS execution (by RDO commands).

If you run CICS with START=AUTO, and a warm or emergency restart results, CICS restores all the installed resource definitions as they were at normal CICS shutdown, or at the time of system failure. The general rule is that you cannot alter installed resource definitions during a restart except by coding START=COLD or START=INITIAL. For details of the results of the possible combinations of CICS restart-type and global catalog state, see The START system initialization parameter.

The CICS domains also use the global catalog to save their domain status between runs. In some cases this information can be overridden during a restart by supplying system initialization parameters. For example, CICS monitoring uses the cataloged status at a restart, but modified by any system initialization parameter In other cases the domain information saved in the catalog is always used in a restart. For example, CICS statistics interval time is always restored from the catalog in a warm or emergency restart, because the statistics domain does not have this as a system initialization parameter. To change this you must use CEMT or EXEC CICS commands after control is given to CICS. Alternatively, you can enforce system defaults by performing a cold start.

Note:
If you need to reinitialize the global catalog for any reason, you must also reinitialize the local catalog.
The local catalog

The CICS domains use the local catalog to save some of their information between CICS runs. If you delete and redefine the local catalog, you must:

For more information about initializing the local catalog, see Defining the local catalog. Some of the information that is saved in the local catalog can be overridden at CICS system initialization by system initialization parameters, such as CICS transaction dump data set status.

Note:
If you need to reinitialize the local catalog for any reason, you must also reinitialize the global catalog.

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:

Depending on whether either or both of these records exist, and their contents, CICS decides which type of start to perform:

1. 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.)

If you set CICS to perform an initial start, you should reinitialize the local catalog before bringing up CICS.

2. 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.

3. 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.

4. 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 simply want to reinstall definitions of local resources from the CSD, use START=COLD instead.

Examples of times when an initial start is necessary are:

If it is necessary to perform an initial start of CICS, you can do so in two ways:

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:

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 simply 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:

START=STANDBY
The STANDBY option is for use only with XRF=YES. START=STANDBY causes the alternate CICS region to initialize only to the point at which it can monitor the active CICS region. Depending on how the active CICS region was shut down, the alternate CICS region completes either a warm or emergency restart, if it needs to take over, as follows:

When it takes over, the alternate CICS region becomes the active CICS region.

The effect of specifying START=STANDBY on the alternate CICS region is similar to that of the START=AUTO option.

If you code START=STANDBY with XRF=NO, initialization fails with message DFHXA6530, and CICS terminates abnormally with a dump.

For information about operating a CICS region with XRF, see the CICS Operations and Utilities Guide.

Table 26 shows how the effect of the START parameter depends on the state of the CICS global catalog and system log.

Table 26. 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 7 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 7 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 7 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 7 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.
Notes:
  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. For information about running DFHRMUTL and DFHCCUTL, see the CICS Operations and Utilities Guide.

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

Table 27. 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.

CICS startup and the VTAM session

In a VTAM® network, the session between CICS and VTAM is started automatically if VTAM is started before CICS. If VTAM is not active when you start CICS, you receive the following messages:

F vtamname,USERVAR,ID=generic-applid,VALUE=specific-applid
+DFHSI1589D 'applid' VTAM is not currently active.
+DFHSI1572 'applid'  Unable to OPEN VTAM ACB - RC=xxxxxxxx, ACB CODE=yy.

Although the MODIFY NET, USERVAR command is only significant when you are running CICS with XRF, the USERVAR message occurs for both XRF=YES and XRF=NO CICS systems. If you receive messages DFHSI1589D and DFHSI1572, and if the CICS region is not initializing as an alternate CICS region, you can start the CICS-VTAM session manually when VTAM is eventually started, by means of the CEMT SET VTAM OPEN command from a supported MVS™ console or a non-VTAM terminal.

If VTAM is active, but CICS still cannot open the VTAM ACB because VTAM does not recognize the CICS APPLID, you receive the following messages:

F vtamname,USERVAR,ID=generic-applid,VALUE=specific-applid
+DFHSI1592I 'applid' CICS applid not (yet) active to VTAM.
+DFHSI1572  'applid' Unable to OPEN VTAM ACB - RC=00000008, ACB CODE=5A.

This may be caused by an error in the value of APPLID operand, in which case you must correct the error and restart CICS. For information about other causes and actions, see the CICS Messages and Codes.

Concurrent initialization of VTAM and XRF alternate CICS regions

An XRF alternate CICS region cannot initialize properly until it has successfully opened the VTAM ACB.

Because VTAM and the alternate CICS region may be initialized concurrently, it is possible that several tries may have to be made to open the VTAM ACB. If VTAM is not active, the following message is written to the system console every 15 seconds:

DFHSI1589D 'applid' VTAM is not currently active.

If VTAM is active, but CICS cannot open the VTAM ACB, the following messages are written to the system console:

+DFHSI1572 'applid' Unable to OPEN VTAM ACB - RC=xxxxxxxx, ACB CODE=yy.
DFHSI1590 'applid'  XRF alternate cannot proceed without VTAM.

CICS abends with a dump (abend code 1590).

The CICS parameter manager domain

In addition to loading the system initialization table at the start of initialization, and reading any other parameters from PARM, SYSIN, or the system console, the parameter manager domain is responsible for the management of the SIT. With the exception of the application domain (AP) which uses the SIT directly, the parameter manager domain passes system initialization parameters to the other CICS domains on request.

The domain initialization process is as follows:

Query the type of startup
With the exception of the trace domain, each domain asks the parameter manager for the type of startup--initial, cold, or warm. (For this purpose, the parameter manager domain treats an emergency restart as a warm start.)
Startup is initial or cold
If startup is initial or cold, domains do not read their domain records from the catalogs. Instead, they request system initialization parameters from the parameter manager domain. Because it is a cold start, the parameter manager domain returns all system initialization parameters from the SIT, modified by any overrides.
Startup is warm
If startup is warm, domains try to perform a warm start by reading their domain records from the catalogs:
NEWSIT or new suffix
Although a START=AUTO may resolve to a warm start, parameter manager enforces most system initialization parameters if:

For details of the parameters that are ignored when you specify NEWSIT=YES, see the NEWSIT parameter description in topic NEWSIT.

Note:
The trace domain is an exception to the above rules in that it always cold starts. Trace does not save its status at CICS shutdown like the other domains, and regardless of the type of startup, it requests all of its system initialization parameters from the parameter manager domain.

End of CICS startup

Whichever type of startup is performed, when the message:

DFHSI1517 - 'applid':  Control is being given to CICS.

is displayed on the operating system console, CICS is ready to process terminal requests. (applid is the value of the specific APPLID system initialization parameter.)

When the startup process is completed, users are able to enter transactions from any terminals that are connected to CICS. For information about the CICS-supplied transactions, see CICS Supplied Transactions.

Related tasks
Specifying CICS system initialization parameters
Supplying system initialization parameters to CICS
Using system initialization control keywords
Related reference
The system initialization parameter descriptions

7.
If the system log is defined as a dummy, it is ignored.

[[ Contents Previous Page | Next Page Index ]]