Shutting down the IMS control region
Use the /CHECKPOINT FREEZE|DUMPQ|PURGE command to shut down the IMS control region. You should provide guidelines for the MTO on selecting the right kind of shutdown, either specifying the FREEZE or PURGE keyword.
Using the FREEZE keyword causes the quickest shutdown, and the PURGE keyword causes the slowest shutdown.
- /CHECKPOINT FREEZE|DUMPQ|PURGE immediately
terminates sessions for all logical units as follows:
- FREEZE
- Immediately after current input/output message
- DUMPQ
- After blocks have been written to the log
- PURGE
- After all queues are empty
- /CHECKPOINT [FREEZE|DUMPQ|PURGE] QUIESCE allows all network nodes to complete normal processing before IMS shuts down.
If dynamic resource definition (DRD) is enabled for your IMS system, you must ensure that changes to your runtime resource and descriptor definitions are saved to the resource definition data set or an IMSRSC repository. If AUTOEXPORT is enabled in the DFSDFxxx PROCLIB member, the definitions will be exported automatically to the repository, the RDDS, or both, depending on the AUTOEXPORT specification and your DRD configuration, during the IMS shutdown checkpoint processing. If IMSRSC repository is enabled and AUTOEXPORT is not enabled, use the QUERY command with the SHOW(EXPORTNEEDED) filter to identify any unexported resources, and export them. If IMS shuts down before dynamically defined resources can be exported, you can use the DFSURCL0 utility to create a non-system RDDS data set that contains only the resource definitions that have not been exported to the repository.
The following table illustrates what IMS does in response to each type of checkpoint command.
| System action | FREEZE | DUMPQ1 | PURGE |
|---|---|---|---|
| Stop terminal input | X | X | X |
| Process transactions | X2 | X | |
| Free message regions | X | X | X |
| Purge real storage message queue to disk | X | X | |
| Log checkpoint data | X | X | X |
| Notify the CCTL | X | X | |
| Wait for the CCTLs to disconnect from their resource managers | X | X | |
| Write MSDBs to checkpoint data set | X | X | X |
| Write CHKPT ID to master terminal | X | X | X |
| Purge database buffer pool | X | X | X |
| Terminate message regions | X | X | X |
| Send queued output | X | X | X |
| Wait for BMP's sync point | X | X | |
| Wait for BMP's completion | X | ||
| Send shutdown message to terminals | X | X | |
| Dump message queues to log | X | ||
| Close databases | X | X | X |
| Close queues | X | X | X |
| Close log | X | X | X |
| Terminate IMS control region | X | X | X |
|
Notes:
|
|||
- Have the MTO broadcast a message to all users about 10 minutes before entering the IMS shutdown command. This lets end users, except those involved in conversations, terminate their work in an orderly way.
- If you use the IMS monitor, stop it with the /TRACE SET OFF MON command before using the /CHECKPOINT command.
- Allow active VTAM® terminals to complete processing before the IMS shutdown begins.
After the shutdown process has begun, you can use the /DISPLAY SHUTDOWN STATUS command to list the following information:
- Communication lines and terminals that still contain active messages
- BMPs and CCTL threads that are still active
To speed up the shutdown process, you can use the /IDLE command to stop I/O operations on specified lines.
In the IMS DBCTL environment, IMS notifies the CCTL that IMS is shutting down. In response, the CCTL must disconnect from the IMS DBCTL subsystem. The CCTL can control how long its threads process before it disconnects, for example, it could let all threads reach a sync point first.
If IMS fails to shut down, and if logging resources are available, you must force IMS to terminate.
- If no logging resources are available, the OLDS must be archived before you can force shutdown.
- IMS does not shut down if the CQS subsystem is unavailable while you are running in a shared-queues environment.