Nonstop Database, HiRDB Version 9 System Operation Guide

[Contents][Index][Back][Next]

20.13.1 Corrective procedure

HiRDB cannot terminate if there is a UAP or utility that has not terminated (that is, if a user is still connected). If an attempt is made to terminate HiRDB while a user is still connected, HiRDB outputs the KFPS05120-W message, together with the connected user data file and connected user details file. In this case, the HiRDB administrator must follow the procedure described below to disconnect the user and terminate HiRDB.

Procedure
[Figure]

Note
The numbers to the left of the process boxes correspond to the paragraph numbers of the explanations on the following pages. For example, step 5 is explained in paragraph (5) below.
Organization of this subsection
(1) Check for any user who is still connected
(2) Check for transactions that are still executing
(3) Are there any transactions in READY(p,?) or FORGETTING(?,w) status?
(4) Complete any uncompleted transactions
(5) Are any transactions still executing?
(6) Should the transactions be terminated forcibly?
(7) Use the pdcancel command to terminate forcibly the user (UAP) who is still connected
(8) Wait for approximately 1 minute
(9) Wait for the transaction to terminate
(10) Use the pdcancel command to disconnect the user (UAP) who is still connected
(11) Wait for approximately 1 minute
(12) Has the pdstop command timed out?
(13) Execute the pdstop command
(14) Is the KFPS01840-I message output?

(1) Check for any user who is still connected

(a) Using the pdls -d prc command to check if users are still connected
 
pdls -d prc
 
HOSTNAME : k95x620(173420)
STATUS   PID   UID   GID   SVID   TIME      PROGRAM    C-PID   C-GRP
 
  L      22118 334   300   fes1   173330    uap00      22205   PC
 

Explanation
Check the UAP identifier listed under PROGRAM. The user who is still connected is uap00.
(b) Checking the connected user data file for users who are still connected

For details about the output contents of the connected user data file, see 20.13.2 Connected user data file and connected user details file.

 
UNIT ID : UNT1(173420)
 UID  PID    GID  SVID  TIME    PROGRAM  C-GRP  C-PID   C-IP
 334  22118  300  fes1  173330  uap00    PC     22205   172.17.32.37
 

Explanation
Check the UAP identifier listed under PROGRAM. The user who is still connected is uap00.

(2) Check for transactions that are still executing

Either execute the pdls -d trn command or use the results in the connected user details file of executing the pdls -d trn command to check for transactions that are still executing.

For details about the output contents of the connected user details file, see 20.13.2 Connected user data file and connected user details file.

(3) Are there any transactions in READY(p,?) or FORGETTING(?,w) status?

Based on the execution results of the pdls -d trn command or the information in the connected user details file, determine whether there are any transactions in READY(p,?) or FORGETTING(?,w) status.

(4) Complete any uncompleted transactions

Complete the uncompleted transactions; for details, see 20.14 Actions when there is an undetermined transaction.

(5) Are any transactions still executing?

Based on the execution results of the pdls -d trn command or the information in the connected user details file, determine whether there are any transactions in READY(p,?) or FORGETTING(?,w) status.

(6) Should the transactions be terminated forcibly?

If there are transactions in READY(p,?) or FORGETTING(?,w) status, decide whether to terminate them forcibly or to wait for them to complete their processing. If the processing time of a transaction that is executing is short, wait for it to terminate; if the processing time is long, terminate it forcibly.

(7) Use the pdcancel command to terminate forcibly the user (UAP) who is still connected

Use the pdcancel command to terminate the transaction forcibly.

HiRDB single server configuration

 
pdcancel -u UAP00 -i 22118
 

HiRDB parallel server configuration (execution example 1)

 
pdcancel -x k95x620 -u UAP00 -i 22118
 

HiRDB parallel server configuration (execution example 2)

 
pdcancel -X UNT1 -u UAP00 -i 22118
 

Explanation
-u: Specifies the identifier of the UAP.
-x: Specifies the name of the host where the front-end server to which the UAP is connected is located. The specified host name is listed under HOSTNAME in the execution results of the pdls -d prc command.
-X: Specifies the unit identifier. The specified unit identifier is listed under UNIT ID in the connected user data file.
-i: Specifies the process ID.

(8) Wait for approximately 1 minute

After executing the pdcancel command, wait for the transaction to be completed by itself.

(9) Wait for the transaction to terminate

If you do not terminate the transaction forcibly, wait for it to terminate.

(10) Use the pdcancel command to disconnect the user (UAP) who is still connected

If there is no transaction for a user who is still connected, use the pdcancel command to disconnect the user.

HiRDB single server configuration

 
pdcancel -i 22118 -d
 

HiRDB parallel server configuration (execution example 1)

 
pdcancel -x k95x620 -i 22118 -d
 

HiRDB parallel server configuration (execution example 2)

 
pdcancel -X UNT1 -i 22118 -d
 

Explanation
-x: Specifies the name of the host where the front-end server to which the UAP is connected is located. The specified host name is listed under HOSTNAME in the execution results of the pdls -d prc command.
-X: Specifies the unit identifier. The specified unit identifier is listed under UNIT ID in the connected user data file.
-i: Specifies the process ID.
-d: Specified to forcibly terminate a HiRDB server process. When the -d option is specified, the core file is output. If the core file is not needed, delete it with the pdcspool command.

(11) Wait for approximately 1 minute

After executing the pdcancel command, wait for the user to be disconnected and HiRDB termination processing to be resumed.

(12) Has the pdstop command timed out?

If the KFPS05047-E message is output, the pdstop command has timed out.

(13) Execute the pdstop command

If the pdstop command has timed out, execute it again.

(14) Is the KFPS01840-I message output?

If the KFPS01840-I message is output, HiRDB termination processing has started.