TERMINATE OLC
>>-+-TERMINATE-+--OLC------------------------------------------>< '-TERM------'
|TERMINATE OLREORG
.-,------------. V | >>-+-|TERMINATE--+--OLREORG--NAME--(---+-partname-+-+-)----------> +-|TERM-------+ '-*--------' +-|/TERMINATE-+ '-|/TERM------' >----OPTION(-+-ABORT-+-)--------------------------------------->< '-FORCE-'
Table 160 and Table 161list the environments (DB/DC, DBCTL, and DCCTL) from which the TERMINATE command can be issued.
Command / Keyword | DB/DC | DBCTL | DCCTL |
---|---|---|---|
TERMINATE OLC | x | x | x |
|Command |/ Keywords | |DB/DC | |DBCTL | |DCCTL |
---|---|---|---|
|TERMINATE OLREORG | |X | |X | | |
|NAME | |X | |X | | |
|OPTION | |X | |X | | |
|When the TERMINATE OLC (stop online change) command is issued by an IMS command |master that is running with RM services (RMENV=Y), the command terminates |a global online change and coordinates with all of the IMSs in the |IMSplex.
|If an IMS is not running with RM services (RMENV=N), |the TERMINATE OLC command terminates an online change for that IMS only. If |an IMS system is not running with RM, each IMS must have a unique |OLCSTAT data set which cannot be shared. If the OLCSTAT data set |contains the name of an IMS other than the one that is processing the |online change, TERMINATE OLC is rejected because the OLCSTAT data set is invalid for the |environment. To determine which IMS member names are invalid, issue |the QUERY OLC command to display the contents of the OLCSTAT data |set. You can use the OLC utility, DFSUOLC0, to correct the data |set.
|Each IMS system that does not have RM services and |participates in global online change, must separately issue the TERMINATE OLC command. In a no RM environment, if more than one IMS is |specified in the route list for the TERMINATE OLC or the default of route all is specified, online change is |only performed for the IMS command master. To determine which IMSs |are defined with RMENVNO, issue a QUERY MEMBER SHOW(ATTRIB) command.
A TERMINATE OLC command that aborts a global online change is similar to the /MODIFY ABORT command, except that it applies to all of the IMSs in an IMSplex that are participating in the global online change.
This command may be specified only through the OM API. OM sends the TERMINATE OLC command to an IMS in the IMSplex.
TERMINATE OLC can be used to abort an IMSplex-wide global online change initiated by a INITIATE OLC PHASE(PREPARE) command, before the online change is successfully committed with a INITIATE OLC PHASE(COMMIT) command.
TERMINATE OLC can be used to abort an online change after an INITIATE OLC PHASE(COMMIT) failure that occurs before the OLCSTAT data set is updated. Once the commit process has updated the OLCSTAT data set, the online change is considered to be successful and cannot be aborted.
TERMINATE OLC is not supported if local online change is enabled. The TERMINATE OLC command is rejected if the IMS to which the command is routed does not support global online change. If this occurs and there is an IMS that supports global online change, the user must route the command to a specific IMS that supports global online change.
The TERMINATE OLC command is invalid on the XRF alternate, RSR tracker, and FDR system.
The OM command time-out default of 300 seconds (5 minutes) may not be enough time for the online change phase to complete. It may be required to specify a time-out value on the command based on the needs of the installation.
The command syntax for this command is defined in XML and is available to automation programs which communicate with OM.
Table 162 shows the output fields for a TERMINATE OLC command. The columns in the table are as follows:
SHORT LABEL | KEYWORD | MEANING |
---|---|---|
MBR | N/A | IMSplex member that built the line of output. IMS identifier of the IMS that was master of the abort phase. IMS identifier is always returned. |
IMSMBR | N/A | IMS member that performed the global online change phase. The IMS member name is always returned. |
CC | N/A | Completion code from the IMS member that performed the online change phase. Completion code is always returned. |
ERRT | N/A | Error text associated with a nonzero completion code returned by the IMS member that performed the online change phase. Error text may be returned if the completion code is nonzero. |
The OM return and reason codes that may be returned as a result of this command are standard for all commands entered through the OM API. Refer to the OM CSLOMCMD Return and Reason code section for the list of codes and their meanings.
An IMS return and reason code is returned to OM by the TERMINATE OLC command.
Some reason codes are accompanied by a complete list of IMSs and completion codes. The reason code meaning indicates whether a list is returned. A partial list of IMSs and completion codes may be returned with any TERMINATE OLC error reason code, if any output was built before the error was detected.
Table 163 contains the return and reason codes that can be returned to OM by the TERMINATE OLC command.
Return Code | Reason Code | Meaning |
---|---|---|
X'00000000' | X'00000000' | The TERMINATE OLC command completed successfully. The TERMINATE OLC command is applied to all of the IMSs listed in the OLCSTAT
data set. All of the IMSs in the IMSplex are no longer in an online
change state.
An output line is built for each IMS listed in the OLCSTAT data set. Each output line contains the IMS member name and a completion code of zero. |
X'00000004' | X'0000100C' | The TERMINATE OLC command completed successfully, but was not applicable to one
or more IMSs for acceptable reasons. The TERMINATE OLC command applies to all of the IMSs listed in the OLCSTAT
data set.
An output line is built for each IMS listed in the OLCSTAT data set. Each output line contains the IMS member name and a completion code. A nonzero completion code may be accompanied by error text. One or more of the IMSs contain a completion code indicating the terminate online change did not apply to this IMS, such as the IMS state is abended, the IMS state is shutdown, or this IMS is already in the correct online change state. The TERMINATE OLC completion code table contains the list of completion codes and error text that can be returned by the TERMINATE OLC command. |
X'0000000C' | X'00003000' | The TERMINATE OLC command is successful for at least one IMS but not all IMSs.
The TERMINATE OLC command applies to all IMSs listed in the OLCSTAT data set.
An output line is built for each IMS listed in the OLCSTAT data set. Each output line contains the IMS member name and a completion code. A nonzero completion code may be accompanied by error text. One or more of the IMSs returned an error completion code. The TERMINATE OLC completion code table contains the list of completion codes and error text that can be returned by the TERMINATE OLC command. If the TERMINATE OLC command fails for one or more IMSs, correct the problem and issue the TERMINATE OLC command again. See 'TERMINATE OLC error handling' for more details. |
X'0000000C' | X'00003004' | The TERMINATE OLC command failed for all of the IMSs. The TERMINATE OLC command applies to all of the IMSs listed in the OLCSTAT
data set.
An output line is built for each IMS listed in the OLCSTAT data set. Each output line contains the IMS member name and a completion code. A nonzero completion code may be accompanied by error text. All of the IMSs returned an error completion code. The TERMINATE OLC completion code table contains the list of completion codes and error text that can be returned by the TERMINATE OLC command. If the TERMINATE OLC command fails for one or more IMSs, correct the problem and issue the TERMINATE OLC command again. See 'TERMINATE OLC error handling' for more details. |
X'00000010' | X'00004004' | The TERMINATE OLC command failed because there is no CQS. RM attempted to
access the process resource on the resource structure, but it failed
because CQS is not available. The online change phase may have
succeeded on one or more IMSs.
See 'TERMINATE OLC error handling' for more details. |
X'00000010' | X'0000400C' | The TERMINATE OLC command failed because it is invalid for an XRF alternate. |
X'00000010' | X'00004014' | The TERMINATE OLC command failed because it is invalid for an RSR tracker. |
X'00000010' | X'00004018' | The TERMINATE OLC command failed because the RM resource structure is not available.
One or more IMSs in the IMSplex may still be in an online change state.
See 'TERMINATE OLC error handling' for more details. |
X'00000010' | X'0000401C' | The TERMINATE OLC command failed because it is invalid for an FDR region. |
X'00000010' | X'00004100' | The TERMINATE OLC command is rejected because the resource structure is full.
RM failed trying to create the process resource on the resource
structure. One or more IMSs may still be in an online change state.
See 'TERMINATE OLC error handling' for more details. |
X'00000010' | X'00004104' | The TERMINATE OLC command failed because RM is not available. The online change
phase may have succeeded on one or more IMSs'. Either there
is no RM address space, or RM is active but not registered to SCI
because CQS or the resource structure is not available.
See 'TERMINATE OLC error handling' for more details. |
X'00000010' | X'00004108' | The TERMINATE OLC command failed because SCI is not available. One or more IMSs
may still be in an online change state.
See 'TERMINATE OLC error handling' for more details. |
X'00000010' | X'0000410C' | The TERMINATE OLC command is rejected, because global online change is not enabled. Local online change is enabled. Use the /MODIFY command for local online change. If your IMSplex is made up of some IMSs that support global online change and some that support local online change, route the TERMINATE OLC command to an IMS that is enabled for global online change. |
X'00000010' | X'00004110' | The TERMINATE OLC command is rejected, because the command does not apply to
the online change state of the command master.
TERMINATE OLC is rejected if the command master is not in an online change state. TERMINATE OLC is rejected if the command master has already committed the online change. See 'TERMINATE OLC error handling' for more details. |
X'00000010' | X'0000412C' | |The OLCSTAT data set contains the |name of an IMS other than the IMS processing the online change. |Use DFSUOLC0 to correct the data set. |
X'00000010' | X'00004114' | The TERMINATE OLC command failed because of an error accessing the OLCSTAT
data set. One or more IMSs in the IMSplex may still be in an online change
state.
A DFS2843 message is sent to the OM output exit as unsolicited output. See 'TERMINATE OLC error handling' for more details. |
X'00000010' | X'00004118' | The TERMINATE OLC command failed because of an error allocating the OLCSTAT
data set. One or more IMSs in the IMSplex may still be in an online change
state.
A DFS2848 message is sent to the OM output exit as unsolicited output. See 'TERMINATE OLC error handling' for more details. |
X'00000010' | X'0000411C' | The TERMINATE OLC command failed because of an error in the OLCSTAT data set
contents. One or more of the values is invalid.
A DFS2844 message is sent to the OM output exit as unsolicited output. |
X'00000010' | X'00004120' | The TERMINATE OLC command is rejected because an online change phase is already in progress on this IMS, which may be INITIATE OLC, TERMINATE OLC, or /DISPLAY MODIFY. |
X'00000014' | X'00005000' | The TERMINATE OLC command is rejected because an IMODULE GETSTOR storage request failed. |
X'00000014' | X'00005004' | The TERMINATE OLC command failed because a DFSOCMD response buffer could not
be obtained. One or more IMSs in the IMSplex may still be in an online
change state.
See 'TERMINATE OLC error handling' for more details. |
X'00000014' | X'00005100' | The TERMINATE OLC command failed because of an RM error. One or more IMSs
in the IMSplex may still be in an online change state.
See 'TERMINATE OLC error handling' for more details. |
X'00000014' | X'00005104' | The TERMINATE OLC command failed because of a CQS error. One or more IMSs
in the IMSplex may still be in an online change state.
See 'TERMINATE OLC error handling' for more details. |
X'00000014' | X'00005108' | The TERMINATE OLC command failed because of an SCI error. One or more IMSs
in the IMSplex might still be in an online change state.
See 'TERMINATE OLC error handling' for more details. |
X'00000014' | X'00005FFF' | The TERMINATE OLC command failed because of an internal IMS error. One or more
IMSs in the IMSplex might still be in an online change state.
See 'TERMINATE OLC error handling' for more details. |
Errors unique to the processing of this command are returned as a completion code. A completion code is returned for each action against an individual resource.
The TERMINATE OLC command may result in an error that leaves IMSs in various online change states. Correct the error. Issue the QUERY MEMBER TYPE(IMS) SHOW(STATUS) command to display the online change state of all the IMSs in the IMSplex. Evaluate the QUERY MEMBER TYPE(IMS) output to help you determine what to do:
The TERMINATE OLC command succeeded or was not applicable. No further action needs to be taken.
The online change is not committed. Correct the problem that caused TERMINATE OLC to fail, then retry the TERMINATE OLC command again.
The IMSs that are in an online change state remain in an online change state until you abort the online change.
The online change is not committed. Correct the problem that caused TERMINATE OLC to fail, then retry the TERMINATE OLC command again.
The IMSs that are in an online change state remain in an online change state until you abort the online change.
The commit phase failed before the master updated the OLCSTAT data set, so the online change is not committed. Correct the problem that caused TERMINATE OLC to fail and retry the TERMINATE OLC command.
The IMSs that are in an online change state remain in an online change state until you abort the online change.
If the commit phase failed before the master updated the OLCSTAT data set, the online change is not committed. Correct the problem that caused TERMINATE OLC to fail and retry the TERMINATE OLC command.
If the commit phase failed after the master updated the OLCSTAT data set, the online change is committed. The TERMINATE OLC command is not permitted. You must correct the problem that caused the commit command to fail and retry INITIATE OLC PHASE(COMMIT).
The IMSs that are in an online change state remain in an online change state until you abort the online change or commit the online change.
You can determine whether the OLCSTAT data set has been updated by the modify id. Issue the QUERY OLC LIBRARY(OLCSTAT) SHOW(MODID) command. Check if the modify id returned is different from the modify id returned by the INITIATE OLC PHASE(PREPARE) command, or the modify id returned by a QUERY OLC LIBRARY(OLCSTAT) SHOW(MODID) command issued before the INITIATE OLC PHASE(COMMIT) command.
The online change is committed. The TERMINATE OLC command is not permitted. You must correct the problem that caused the commit command to fail and retry INITIATE OLC PHASE(COMMIT).
The IMSs that are in an online change state remain in an online change state until you finish the online change with an INITIATE OLC PHASE(COMMIT) command.
The online change is committed. The TERMINATE OLC command is not permitted. You must correct the problem that caused the commit command to fail and retry INITIATE OLC PHASE(COMMIT).
The IMSs that are in an online change state remain in an online change state until you finish the online change with an INITIATE OLC PHASE(COMMIT) command.
The online change is committed. The TERMINATE OLC command is not permitted. You must correct the problem that caused the commit command to fail and retry INITIATE OLC PHASE(COMMIT).
The IMSs that are in an online change state remain in an online change state until you finish the online change with an INITIATE OLC PHASE(COMMIT) command.
Errors unique to the processing of this command are returned as a completion code. A completion code is returned for an IMS participating in the online change phase.
Table 164 contains the completion codes that can be returned on a TERMINATE OLC command, the meaning of the completion code, and any error text associated with the code.
Completion Code | Meaning | ERROR TEXT (upper case) |
---|---|---|
0 | The online change commit or abort phase completed successfully. | |
1 | The online change type does not apply to this IMS. For example, an ACBLIB online change does not apply to a DCCTL IMS. This IMS does nothing. | |
2 | The online change phase was not
attempted by this IMS for one of the following reasons:
|
|
3 | This IMS is already in the correct online change state. This IMS does not have to do anything. | |
|58 | An IMS is not registered to RM. An OLCSTAT dataset contains an IMS that is not registered to RM. Terminate fails for that IMS. | |
60 | IMODULE GETMAIN storage error. | |
61 | BCB storage error. | |
62 | HIOP storage error. | |
63 | WKAP storage error. | |
80 | Data set error. | Function (8 char), ddname (8 char), return
code (8 bytes), and error detail (8 char).
Function can be one of the following:
DDname can be OLCSTAT. Return code is the data set service return code. Reason code is the data set service reason code. |
90 | Internal error. | Module name that detected internal error (8 char), unused (8 char), return code or function code (8 bytes), and error detail (8 char). |
91 | The online change commit phase 2 or abort phase timed out before this IMS responded to the online change commit phase 2 or abort phase. The commit phase 2 or abort may have succeeded on this IMS. Issue QUERY MEMBER TYPE(IMS) to determine the online change state of this IMS. | |
B2 | IMS state error. | IMS state error (32 char). The
IMS state can be one of the following:
|
TSO SPOC input:
TERMINATE OLC
TSO SPOC output:
MbrName Member CC IMS3 IMS2 0 IMS3 IMS3 0 IMS3 SYS3 0
OM API input:
CMD (TERMINATE OLC)
OM API output:
<imsout> <ctl> <omname>OM1OM </omname> <omvsn>1.1.0</omvsn> <xmlvsn>1 </xmlvsn> <statime>2002.163 15:49:27.197919</statime> <stotime>2002.16315:49:27.712209</stotime> <staseq>B7C4ADFC0D4DF841</staseq> <stoseq>B7C4ADFC8ADD1F45</stoseq> <rqsttkn1>USRT011 10084927</rqsttkn1> <rc>0200000C</rc> <rsn>00003000</rsn> </ctl> <cmderr> <mbr name="IMS2 "> <typ>IMS </typ> <styp>DBDC </styp> <rc>02000004</rc> <rsn>00001008</rsn> </mbr> <mbr name="SYS3 "> <typ>IMS </typ> <styp>DBDC </styp> <rc>02000004</rc> <rsn>00001008</rsn> </mbr> </cmderr> <cmd> <master>IMS3 </master> <userid>USRT011 </userid> <verb>TERM</verb> <kwd>OLC </kwd> <input>TERMINATE OLC</input> </cmd> <cmdrsphdr> <hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="n" key="0" scroll="yes" len="8" dtype="CHAR" align="left" /> <hdr slbl="IMSMBR" llbl="Member" scope="LCL" sort="a" key="1" scroll="no" len="8" dtype="CHAR" align="left" /> <hdr slbl="CC" llbl="CC" scope="LCL" sort="n" key="0" scroll="yes" len="4" dtype="INT" align="right" /> </cmdrsphdr> <cmdrspdata> <rsp>MBR(IMS3 ) IMSMBR(SYS3 ) CC( 0) </rsp> <rsp>MBR(IMS3 ) IMSMBR(IMS2 ) CC( 0) </rsp> <rsp>MBR(IMS3 ) IMSMBR(IMS3 ) CC( 0) </rsp> </cmdrspdata> </imsout>
Explanation: Global online change was aborted for the IMSplex after a successful INITIATE OLC PHASE(PREPARE) command. Global online change was successfully terminated.
| | ||The TERMINATE OLREORG command causes the HALDB OLR to be stopped for the specified |HALDB partitions. After a HALDB OLR has been terminated it is no longer active |nor does it have an owning IMS. The partitions remain in OLREORG |cursor-active status until the online reorganization is resumed |with an INITIATE OLREORG command and completes, or an offline reorganization is run.|
||The output for this command is defined in XML and |is available to automation programs which communicate with OM if |the command is issued from an OM API environment and not as a type-1 |command.|
|Related Reading: See the Appendix of the IMS Version 9: Common Service Layer Guide and Reference for |sample XML for IMS commands.
||For the type-1 version of the command, you can specify |only one NAME keyword for each of these commands that you issue.|
| |When the /TERMINATE OLREORG command is entered as a type-1 command, the command response |is returned in a message format.
|When the command completes successfully, message DFS0725I with |a completion code of 0 is returned to the system console and master |terminal. If the command results in an error, a non-zero completion |code or an error message is returned to the master terminal and |system console.
|If the command results in an error, this error message is returned |to the entering terminal: |
|DFS0725I INITIATE|UPDATE|TERMINATE OLREORG COMMAND FOR DB dbnamexx COMPLETE. |CC= nn | where: dbnamexx is the HALDB partition name entered on the command | nn is the completion code|
For more complete information about this message, see .
|| | |This section describes the responses from the OM API for |the TERMINATE OLREORG command.Table 165 shows |the TERMINATE OLREORG output fields. The columns in the table are as follows: |
|Note: This field does not apply |to the /TERMINATE or to the /TERM command.
|N/A appears for output fields that are always returned.
||Short Label | |Show Keyword | |Meaning |
---|---|---|
|PART | |N/A | |Partition name. |
|MBR | |N/A | |The IMS that built the command response line. |
|CC | |N/A | |Completion code. |
The OM return and reason codes that might be returned |as a result of the TERMINATE OLREORG command are standard for all commands entered through the |OM API. See the IMS Version 9: Common Service Layer Guide and Reference for a list of |the OM codes and the code meanings.
|Table 166 includes the return |and reason codes and a brief explanation of the TERMINATE OLREORG command. Table 167 includes |an explanation of the completion codes. Errors unique to the processing |of TERMINATE OLREORG command are returned as completion codes. A completion code |is returned for each action against a HALDB partition.
|Return Code | |Reason Code | |Meaning |
---|---|---|
|X'00000000' | |X'00000000' | |The TERMINATE OLREORG command completed successfully. |
|X'00000010' | |X'00004014' | |Command issued on an RSR tracker. |
| | |X'0000400C' | |Command issued on an XRF alternate. |
|X'00000014' | |X'00005000' | |A GETMAIN error occurred. |
This section provides OM API and TSO SPOC input and output |examples and explanations for TERMINATE OLREORG
| |/TERM OLREORG NAME(PDHDOKA)|
Response ET: |
|DFS0725I TERMINATE OLREORG COMMAND FOR DB PDHDOKA COMPLETE. CC= 24|
Explanation: The TERM OLREORG command is issued for partition PDHDOKA to stop the OLR in |progress. The command is not successful because OLR is not in progress |for the partition.
| |TSO SPOC input: |
|TERM OLREORG NAME(PDHDOKA,PDHDOKC)|
TSO SPOC output: |
|Partition MbrName CC | PDHDOKA IMSA 0 | PDHDOKA IMS1 24 | PDHDOKC IMSA 24 | PDHDOKC IMS1 24| |
CMD ( TERM OLREORG NAME(PDHDOKA,PDHDOKC))|
OM API output: |
|<imsout> |<ctl> |<omname>OM1OM </omname> |<omvsn>1.2.0</omvsn> |<xmlvsn>1 </xmlvsn> |<statime>2003.168 21:31:13.035976</statime> |<stotime>2003.168 21:31:13.038227</stotime> |<staseq>B9962C747D6C8868</staseq> |<stoseq>B9962C747DF93586</stoseq> |<rqsttkn1>USRT005 10143113</rqsttkn1> |<rc>0200000C</rc> |<rsn>00003008</rsn> |</ctl> |<cmderr> |<mbr name="IMSA "> |<typ>IMS </typ> |<styp>DBCTL </styp> |<rc>0000000C</rc> |<rsn>00003000</rsn> |</mbr> |<mbr name="IMS1 "> |<typ>IMS </typ> |<styp>DBDC </styp> |<rc>0000000C</rc> |<rsn>00003004</rsn> |</mbr> |</cmderr> |<cmd> |<master>IMSA </master> |<userid>USRT005 </userid> |<verb>TERM</verb> |<kwd>OLREORG </kwd> |<input>TERM OLREORG NAME(PDHDOKA,PDHDOKC) </input> |</cmd> |<cmdrsphdr> |<hdr slbl="PART" llbl="Partition" scope="LCL" sort="A" key="1" | scroll="NO" len="9" dtype="CHAR" align="left" /> |<hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="N" key="0" scroll="NO" | len="8" dtype="CHAR" align="left" /> |<hdr slbl="CC" llbl="CC" scope="LCL" sort="N" key="0" scroll="YES" | len="4" dtype="INT" align="right" /> |</cmdrsphdr> |<cmdrspdata> |<rsp> PART(PDHDOKA ) MBR(IMSA ) CC( 0) </rsp> |<rsp> PART(PDHDOKC ) MBR(IMSA ) CC( 24) </rsp> |<rsp> PART(PDHDOKA ) MBR(IMS1 ) CC( 24) </rsp> |<rsp> PART(PDHDOKC ) MBR(IMS1 ) CC( 24) </rsp> |</cmdrspdata> |</imsout>|
|Explanation: The TERM OLREORG command is issued to stop the OLR for partitions PDHDOKA |and PDHDOKC. The command is routed to IMSA and IMS1. The command |is successful for partition PDHDOKA at IMSA where OLR is in progress. The |command is not successful for PDHDOKC at IMSA because OLR is not |in progress for PDHDOKC on IMSA. The command is not successful for |either of the two partitions at IMS1 because OLR is not in progress |for PDHDOKA and PDHDOKC on IMS1.|