Nonstop Database, HiRDB Version 9 System Operation Guide
The KFPS00992-E message is output for each undetermined transaction (transaction branch that cannot be determined). When this happens, the HiRDB administrator must force determination of each such transaction that is uncompleted by following the procedure described below.
When pd_trn_rerun_branch_auto_decide = Y (default value) has been specified, determination of uncompleted transactions is performed automatically. If a transaction cannot be determined by this automatic determination facility or if you do not use this facility, you must perform the operation explained below.
KFPS00992-E Unable to determine commit or rollback for transaction branch. TRNGID=HRD1unt100020b4d, TRNBID=HRD1unt100020034, server=bes1, service=p_f_sqa_call KFPS00992-E Unable to determine commit or rollback for transaction branch. TRNGID=HRD1unt100020b22, TRNBID=HRD1unt100020035, server=bes1, service=p_f_sqa_call KFPS00992-E Unable to determine commit or rollback for transaction branch. TRNGID=HRD1unt100020b5a, TRNBID=HRD1unt100020036, server=bes1, service=p_f_sqa_call |
If there are no undetermined transactions, no further action is necessary.
Check whether the product used as the HiRDB client (OLTP system or HiRDB Datareplicator, for example) is running normally. If not, start it using the procedure appropriate to the particular product.
Note the following about forcing determination of a transaction while there is a stopped client product:
To maintain transaction integrity, it is important that you do not execute any new transactions from this point on during this procedure.
Use the pdls command to check if all servers (excluding recovery-unnecessary front-end servers) are running. If any server is not running, start it.
Note the following about forcing determination of a transaction while there is a stopped server:
Perform transaction determination manually on the undetermined transactions. For details about the manual determination procedure, see 20.14.2 Performing transaction determination manually on undetermined transactions.
Use the grep command to create input files for the pdtrndec command. This applies only to the unit where the system manager is located. The files you create with the grep command are for KFPS00990-I messages.
grep "KFPS00990-I" /usr/adm/OLDsyslogfile >/tmp/unit1syslog.copy grep "KFPS00990-I" /usr/adm/syslogfile >/tmp/unit1syslog2.copy 1 2 3 |
pdtrndec -i /tmp/unit1syslog.copy,/tmp/unit1syslog2.copy |
Check the items listed under DECISION (transaction determination type) in the command execution results. Then continue the procedure by following the steps in the flowchart.
pdtrndec result START TIME:2002/09/05 17:20:08 HOSTNAME TRNGID TRNBID SVID DECISION TIME host1 HRD1unt100020b4d HRD1unt100020034 bes1 COMMIT 17:20:08 host1 HRD1unt100020b22 HRD1unt100020035 bes1 ******** --:--:-- host1 HRD1unt100020b51 HRD1unt100020038 bes1 FORGET 17:20:09 pdtrndec result START TIME:2002/09/05 17:36:47 HOSTNAME TRNGID TRNBID SVID DECISION TIME host1 HRD1unt100020b22 HRD1unt100020035 bes1 ******** --:--:-- |
Use the grep command to create input files for the pdtrndec command. This applies only to each unit where the system manager is not located. The files you create with the grep command are for the KFPS00990-I messages.
grep "KFPS00990-I" /usr/adm/OLDsyslogfile >/tmp/unit2syslog.copy grep "KFPS00990-I" /usr/adm/syslogfile >/tmp/unit2syslog2.copy 1 2 3 |
Use the same method as in step (5) to create input files for the pdtrndec command.
Using the input files created in steps (7) and (8), execute the pdtrndec command to force determination of the transactions. If the return code indicating the final status after the first execution of the pdtrndec command is 4 and ******** is listed under DECISION for a transaction, specify the option shown below and execute the pdtrndec command again.
pdtrndec -i /tmp/unit1syslog.copy,/tmp/unit1syslog2.copy,/tmp/unit2syslog.copy, /tmp/unit2syslog2.copy -r pdtrnrbk.bat |
If the KFPS00982-E message is output when a pdtrnrbk.bat file has been created, delete the pdtrnrbk.bat file without using it.
Use the pdls -d trn command to check if all transactions have been determined. If an undetermined transaction remains, check the output message and command execution results, take the necessary corrective action, and then repeat the steps beginning with (7).
pdls -d trn HOSTNAME : host1(153415) TRNGID TRNBID STATUS PID SVID B-SVID |
Once all undetermined transactions have been determined, the KFPS02183-I message is output within 30 seconds. If the KFPS02183-I message is not output after 30 seconds, an undetermined transaction remains. In such a case, repeat the procedure from the start.
Delete the files (such as pdtrndecout and pdtrnrbk.bat) under the output destination directory specified by the pdtrndec command.
All Rights Reserved. Copyright (C) 2011, 2015, Hitachi, Ltd.