DCMT QUIESCE Command
DCMT QUIESCE initiates a quiesce operation for one or more target areas.
DCMT QUIESCE initiates a quiesce operation for one or more target areas.
The DCMT Quiesce command does not wait for the quiesce to complete. You can monitor the status of the quiesce by using DCMT DISPLAY ID.
This article describes the following information:
►►─ DCMT Quiesce ┬─ ARea─┬ segment-name.area-name ───┬────────────────────────► │ └ area-star-name ───────────┤ ├─ SEGment - segment-name ──────────┤ └─ DBName - dbname ─────────────────┘ ►──┬──────────────┬─ ID dcmt-id ─────────────────────────────────────────────►◄ └─ q-options ──┘
Expansion of q-options
►►──┬──────────────────────────────────────┬┬────────────┬┬────────────┬──────►◄ ├─ WAIt ◄ ─┬───────────────────────────┤├─ NOHold ◄ ─┤├─ NOSwap ◄ ─┤ │ └─ wait-interval ─┬─────────┤└─ HOLd ─────┘└─ SWAp ─────┘ │ ├─ END ◄ ─┤ │ └─ FORce ─┤ └─ IMMediate ──────────────────────────┘
- AReaIndicates that one or more areas are to be quiesced. Valid values are:
In this example, CA IDMS quiesces all areas whose segment name begins with PROD:dcmt q area prod*
- segment-name.area-nameSpecifies the name of the area to be quiesced.
- area-star-nameSpecifies that all areas whose name begins with the specified alphanumeric characters are quiesced. Area-star-name is a character string whose last character is an asterisk (*) that denotes a wildcard character.
- SEGmentsegment-nameSpecifies that all areas that are associated with the named segment are to be quiesced.
- DBNamedbnameSpecifies that all areas that are associated with segments that are included in the named dbname are to be quiesced.
- q-optionsSpecifies the options that are to be used for this quiesce operation.
- WAItSpecifies that the quiesce operation waits for conflicting tasks or user sessions to relinquish update control of the area. This is the default behavior if neither WAIT nor IMMEDIATE is specified.
- wait-intervalSpecifies the amount of time, in real-time seconds, the quiesce operation waits for conflicting tasks or user sessions to relinquish update control of the area. If a wait interval is not specified, the quiesce operation waits indefinitely.
- ENDSpecifies that the quiesce operation waits until the conflicting tasks end, regardless of the wait-interval that might be specified in the WAIT clause. This is the default behavior if END or FORCE is not specified.
- FORceSpecifies that if the areas cannot be quiesced within the specified wait interval, conflicting tasks and user sessions are cancelled to reach a quiesce point.
- IMMediateSpecifies that the quiesce operation immediately cancels any tasks or user sessions that are accessing a target area in an update mode.
- NOHoldSpecifies that once the quiesce point has been established, the quiesce operation automatically terminates. This is the default if neither HOLD nor NOHOLD is specified.
- HOLdSpecifies that once the quiesce point has been established, the quiesce operation continues until explicitly terminated by a DCMT VARY ID command.
- NOSwapSpecifies that no journal swap should be initiated automatically once the quiesce point has been established. This is the default if neither SWAP nor NOSWAP is specified.
- SWApSpecifies that once the quiesce point has been established, a journal swap is initiated.
- dcmt-idSpecifies the identifier that is to be assigned to this quiesce operation.Dcmt-idmust be a 1 - 8 alphanumeric character string that is unique across all outstanding DCMT operations originating on this node.The identifier can subsequently be used to monitor or terminate the quiesce operation using DCMT DISPLAY ID and DCMT VARY ID commands.
The quiesce operation
Once a quiesce operation is initiated, it continues until a quiesce point is established. A quiesce point is a point in time at which no transactions are accessing the target areas in update mode. To achieve a quiesce point, tasks attempting to access a target area in update mode for the first time wait until the quiesce operation has completed. Tasks that are already updating a target area are either allowed to continue or are aborted depending on user-specified options. Similarly, transactions that are accessing a target area in update mode but are in a pseudo-conversational state are either allowed to continue or are forced to terminate (by having their resources deleted). Predefined system run units that conflict with a quiesce operation may be varied offline to reach a quiesce point.
Once a quiesce point has been established and a message identifying the current time is written to the log, a journal swap may be initiated and user exit 38 is invoked. The user exit can initiate further processing, such as a backup, by submitting a job through the internal reader. The quiesce operation can then terminate automatically or remain active until explicitly terminated.
Forcing a quiesce point
A quiesce point can be forced by specifying the IMMEDIATE option or specifying a wait interval with the FORCE option. In both cases, to achieve a quiesce point, CA IDMS:
- Cancels all tasks that are accessing a target area in update mode.
- Terminates all user sessions with no active task if they hold an update lock on a target area (by performing the equivalent of a DCMT VARY LTERM lte-name RESOURCES DELETE).
- Varies offline all predefined system run units that are accessing a target area in update mode (by performing the equivalent of a DCMT VARY RUNUNIT ru-name OFFLINE).
If predefined system run units are varied offline to achieve the quiesce point, they are varied online when the quiesce operation terminates.
Monitoring a quiesce operation
When a quiesce operation is initiated, it must be assigned a unique identifier that distinguishes it from other quiesce operations that may be active. While the quiesce operation is in progress, its status can be monitored by issuing the DCMT DISPLAY ID command. This command displays the status of an individual quiesce operation or all quiesce operations in progress.
Terminating a quiesce operation
A quiesce operation can be terminated, either before or after the quiesce point has been established, by issuing a DCMT VARY ID command.
Quiescing areas in a data sharing environment
If one or more areas to be quiesced are shared, the quiesce operation is distributed to all members of the data sharing group automatically. The member on which the quiesce operation originated becomes the coordinator of the quiesce operation. The coordinator is responsible for initiating the subordinate quiesce operations on the other members of the group, monitoring their progress, and terminating the quiesce operation. The quiesce operation can only be terminated by the coordinator or through a DCMT VARY ID command that is issued on the coordinator. If the coordinator abends, the quiesce operation is automatically terminated. In a data sharing environment, failed members may prevent the establishment of a quiesce point. If a failed member was updating a target area at the time of failure, the quiesce operation cannot complete until the failed member is restarted. In this situation, the coordinator displays operator messages every ten seconds indicating which failed members must be restarted to complete the quiesce operation. If a new member is started while a quiesce operation is in progress, it is informed of the outstanding quiesce and prevents tasks from updating the quiescing areas until the quiesce operation terminates.
Scope of quiesce within a data sharing group
In a data sharing environment, only areas that are accessible through the member on which the command originated are quiesced. For example, consider a data sharing group of two members: CV1 and CV2 and the following command:
dcmt quiesce area emp*
Member CV1 has one matching segment: EMPEAST; while member CV2 has two matching segments: EMPEAST and EMPWEST. If the previous command is issued on CV1, only segment EMPEAST is quiesced. If the same command is issued on CV2, both EMPEAST and EMPWEST are quiesced.
Furthermore, only areas that are designated as shared in the member on which the command originates are quiesced across all members of the group. Non-shared areas are quiesced only within the member on which the command is issued. Therefore, to quiesce an area that is being updated by more than one member, the quiesce command must be issued on a member in which the area is designated as shared. The status of the area is not important. Even an area whose status is offline is quiesced across all members of the group if it is designated as shared.
DC/UCF system termination
If a quiesce operation is in progress and the DC/UCF system on which it was initiated is shut down or abnormally terminates, the quiesce operation terminates also.
In a data sharing environment, if a member that is participating in a quiesce operation that was initiated on another system is shut down or abnormally terminates, the quiesce operation continues. If the participating member is terminated in an orderly fashion using a DCMT SHUTDOWN command (with or without the IMMEDIATE option), its shared areas are quiesced as part of the shutdown operation. If the participating member abnormally terminates before it had locally quiesced the shared areas, the quiesce operation cannot complete until the participating member is restarted.
Quiesce user exit
A new user exit (exit 38) is invoked when a quiesce point is reached. The exit is passed the quiesce identifier, an indication of what is being quiesced, and a list of files that are affected by the quiesce and their data set names. In a data sharing environment, the user exit is invoked only on the coordinator and not on the other members of the data sharing group. The purpose of this exit is to allow further actions to be taken in response to the quiesce. For example, the exit could submit a batch job through the internal reader to backup the quiesced areas. For a complete description of exit 38, see the "System Reference" section. For a description of how to use exit 38 in a backup procedure, see the "Administrating CA IDMS Database" section of the CA IDMS documentation.
Quiesce wait time
If a task must wait to gain update access to an area because the area is being quiesced, the amount of time it waits is determined by its quiesce wait time. The quiesce wait time for a task is initially established through the system definition and can be overridden at runtime through DCMT VARY TIME and DCMT VARY TASK commands.