To display status information about active CICS transactions that access the application server, enter the CICS CIRD transaction. The CIRD transaction has one parameter. It operates only when the application server has been installed on CICS with the Restart Resynchronization option.
.-Default_server--. >>-CIRD----+-----------------+--------------------------------->< +-*---------------+ +-?---------------+ '-server_name-----' |
The parameter has the following meaning:
You can enter the CIRD transaction from any CICS terminal. You can use it before a DB2 Server for VSE application is invoked to determine the active CICS transactions that access the application server. You can use it to determine the effects on users of disabling online support or shutting down the application server.
The abnormal termination process of online support automatically invokes the CIRD transaction. CIRD output is displayed on your operator console (the system operator console) after the termination error message.
The information that the CIRD transaction displays for transactions that relate to a local application server varies depending on the types of transactions in process when CIRD is invoked:
These transactions have issued an SQL request but are waiting because all links to the application server are busy. For these transactions, CIRD displays the elapsed time of the wait.
In general, links to the application server are busy because other terminal users are accessing the application server. However, when online support is being initialized, the reason for the busy links might be that the database manager (in a VM/ESA system), or the application server (in a VSE/ESA system) and CICS logs (in either system) are being resynchronized. Resynchronization of the two logs usually requires very little time. However, the delay might be longer if resynchronization causes the rollback of a very large logical unit of work.
These transactions have established a link to the application server and a logical unit of work. The application server is also currently processing that logical unit of work. For these transactions, the CIRD transaction displays the elapsed time of the current SQL statement and the elapsed time that the link has been held. The latter indicates the elapsed time of the current logical unit of work.
These transactions have established a link to the application server and a logical unit of work, but the application server is not currently processing that logical unit of work. Instead, these transactions are doing other work or are waiting for a response from the CICS terminal user. For these transactions, CIRD displays the elapsed time since the last application server access was finished.
The CIRD transaction also displays the elapsed time that the link has been held. Again, this value indicates the elapsed time of the current logical unit of work.
These transactions have finished one or more logical units of work but have not yet started another. For these transactions, CIRD displays the time elapsed since the last logical unit of work completed.
For CIRD to display information about a transaction, the transaction must issue an SQL request. The CIRD transaction displays the following information (where applicable) for transactions that relate to a local application server:
Not all transactions have a terminal identifier. For example, ISQL has a two-transaction structure. One transaction (default name ISQL) controls the terminal; the other (default name CISQ) is for access to the application server. Because the CISQ transaction has no terminal associated with it, CIRD does not display TERMID for the CISQ transactions. For CISQ, CIRD displays the terminal identifier in another field called USERDATA. USERDATA is described below.
Thus, if a transaction accesses the application server, but does not have a terminal associated with it, CIRD does not display TERMID.
The CIRD transaction does not display this identifier unless an authorization ID has been established. The authorization ID is established when an application issues an SQL statement that starts an initial logical unit of work. Thus, the authorization ID might not be established immediately. (For example, a transaction might be waiting for a link to the application server.) The authorization ID remains established after a transaction ends a logical unit of work, unless the RELEASE option of COMMIT WORK or ROLLBACK WORK was used.
USERDATA contains the terminal identifier (TERMID) of the terminal that was used to invoke ISQL. For most other transactions, USERDATA is blank. You can code an online application to initialize USERDATA. Such an application would use the online cancel support.
The CIRD transaction uses the following format to display time:
hh:mm:ss
where hh is hour, mm is minutes, and ss is seconds.
After displaying the above information, CIRD displays the time of day and date. The CIRD transaction then ends its processing. The format of the displayed line is:
TIME=hh:mm:ss DATE=mm/dd/yy (or dd/mm/yy) |
In DATE, mm is month, dd is day, and yy is year. The format of the date depends on the way it was specified with the DATE parameter of the VSE STDOPT job control command or statement.
If CIRD determines that no CICS transactions relate to the application server, the CIRD transaction displays only the time and date, and then ends.
Note: | When the connection between an application server and the online support ends abnormally, the CIRD transaction is invoked automatically. The CIRD transaction is invoked implicitly to display information about transactions that were accessing the application server at the time of the failure. This information is displayed on the operator console or CICS terminal where the CIRD transaction was entered. |
For the following examples, assume that SQLMACH1 is the default local application server and that connections have been established for the local application servers SQLMACH1, SQLMACH2 and SQLVM.
Figure 8 shows an example of the information displayed by the CIRD transaction with no parameters.
Figure 8. Example of CIRD with Defaults
Figure 9 shows an example of the information displayed by the CIRD transaction with a server_name specified.
Figure 9. Example of CIRD with Server_Name
Figure 10 shows an example of the information displayed by the CIRD transaction with the * specified.
Figure 10. Example of CIRD with *
Figure 11 shows an example of the information displayed by the CIRD transaction with the ? specified.
Figure 11. Example of CIRD with ?
Some extra information can be derived from the displays. In Figure 11 notice that SQLMACH1 is mentioned as the default server and on the next message that there are connections to SQLMACH1 also. It is possible, with the CIRR transaction, to remove the connections to SQLMACH1. The CIRD command would still show that the default server is SQLMACH1 but the message indicating there are connections to SQLMACH1 would not be displayed. In this scenario, users connecting to the default server would receive SQLCODE = -940 on the CONNECT statement. The CIRA transaction could be used to establish connections to SQLMACH1 again or the CIRC transaction could be used to change the default server to one of the other active servers. Either method allows CONNECT statements to access the default server.
If CIRR or CIRT has been issued to disconnect a server or to shut down the online resource adapter but cannot complete because there are still active transactions against the server, the CIRD transaction will show which transactions and which servers are affected.
Figure 12 shows an example of the information displayed by the CIRD transaction with the ? parameter specified. The attempt to remove the connections to SQLMACH2 fails because there are still active transactions. Then the CIRD transaction determines which transactions are still active. The user is found and asked to complete his work. When the CIRR command is retried it completes successfully and the connections to SQLMACH2 are shut down.
Figure 12. Example of CIRD in a Disable Scenario
Figure 13 shows an example of the information displayed by the CIRD transaction.
Figure 13. Typical Information Displayed by the CIRD Transaction
+--------------------------------------------------------------------------------+
|F4 004 DBDCCIS connected to server SQLDB1_TOR_INV. |
|F4 004 Status of online application server applications: |
|F4 004 |
|F4 004 Transactions waiting to establish a link to the application server: |
|F4 004 TASKNO TRANID TERMID USERID USERDATA WAIT TIME |
|F4 004 ------ ------ ------ -------- -------- --------- |
|F4 004 000033 MKE2 L222 00:01:32 |
|F4 004 000025 INV L224 JIM 00:08:32 |
|F4 004 |
|F4 004 Transactions holding a link and now accessing the application server: |
|F4 004 TASKNO TRANID TERMID USERID USERDATA TIME USED TOTAL LUW |
|F4 004 FOR CURRENT TIME |
|F4 004 ACCESS |
|F4 004 ------ ------ ------ -------- -------- ------------ --------- |
|F4 004 000019 CISQ DEPT222 L199 00:01:32 00:03:48 |
|F4 004 000037 INV L209 TERRY 00:00:01 00:00:03 |
|F4 004 |
|F4 004 Transactions holding a link to the application server and not using it: |
|F4 004 TASKNO TRANID TERMID USERID USERDATA TIME SINCE TOTAL LUW |
|F4 004 LAST ACCESS TIME |
|F4 004 ------ ------ ------ -------- -------- ------------ --------- |
|F4 004 000003 CISQ WILLIAM L210 00:07:01 00:10:56 |
|F4 004 |
|F4 004 Transactions which previously accessed the application server (not holding a |
|F4 004 TASKNO TRANID TERMID USERID USERDATA TIME SINCE |
|F4 004 LAST ACCESS |
|F4 004 ------ ------ ------ -------- -------- ------------ |
|F4 004 000003 MKE2 ROBERT L210 00:20:04 |
|F4 004 |
|F4 004 TIME=14:28:23 DATE=03/23/96 |
+--------------------------------------------------------------------------------+
The CIRD transaction displays the following information (where applicable) for transactions that relate to a remote application server:
Figure 14 shows an example of the information displayed by the CIRD transaction with a remote server-name specified.
Figure 14. Example of CIRD with remote server name
+--------------------------------------------------------------------------------+
|User: 2 cird sqlmach8 |
|System: F2 0002 The default server is SQLMACH8. |
| F2 0002 ---------------------------------------------- |
| F2 0002 Status of online DB2 Server for VSE applications for |
| F2 0002 RDBMS = SQLMACH8 SQLDS/VM V6.1.0 |
| F2 0002 LU = VMC3 |
| F2 0002 TPN = SQLMACH8 |
| F2 0002 (X'07F6C4C2') |
| F2 0002 |
| F2 0002 TASKNO TRANID TERMID USER ID STATUS TIME |
| F2 0002 ______ ______ ______ ________ ______ ___________________ |
| F2 0002 LUWID |
| F2 0002 ______ |
| F2 0002 0000891 DRT1 D080 SYSA APPL 1998-08-11.09:12:42 |
| |
| F2 0002 CAIBMOML.D08001.E31FE596ADDE.0001 |
| |
| F2 0002 |
| F2 0002 TIME= 09:18:11 DATE= 08/11/98 |
| F2-0002 |
+--------------------------------------------------------------------------------+
Figure 15 shows an example of the information displayed by the CIRD transaction with a ? specified, where online access to the remote server RMTSERV1 is allowed. Assume that SQLMACH1 is the default local application server and RMTSERV1 is a remote application server. Connections have been established for SQLMACH1 and online access to RMTSERV1 through the online support is allowed.
Figure 15. Example of CIRD with ?
+--------------------------------------------------------------------------------+
|User: 2 cird ? |
|System: F2 002 The default server is SQLMACH1. |
| F2 002 There are connections to server SQLMACH1. |
| F2 002 Online access to remote RMTSERV1 is allowed. |
| F2 002 --------------------------------------------------- |
+--------------------------------------------------------------------------------+