スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
未決着状態のトランザクションを手動で決着する手順を次に示します。
syslogfile中のKFPS00992-Eメッセージをサーチしてください。
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 KFPS00992-E Unable to determine commit or rollback for transaction branch. TRNGID=HRD1unt100020b5f, TRNBID=HRD1unt100020037, server=bes1, service=p_f_sqa_call KFPS00992-E Unable to determine commit or rollback for transaction branch. TRNGID=HRD1unt100020b64, TRNBID=HRD1unt100020038, server=bes1, service=p_f_sqa_call |
HiRDBのクライアントとして使用している製品が,正常に稼働しているかどうかを確認してください。
HiRDBのクライアントとして使用している製品が,正常に稼働していない場合は,各製品で決められている手順で起動してください。
このとき,クライアントの製品の強制開始を行わないでください。
トランザクションが自動的に決着する可能性があるため,1分程度待ちます。
KFPS00992-EメッセージがHiRDB終了処理時に出力された場合と,それ以外の場合では,以降の対策方法が異なります。
HiRDBの終了処理時にKFPS00992-Eメッセージが出力された場合は,pdls -d trnコマンドが実行できないため,KFPS00992-Eメッセージに出力されたTRNGIDを調べます。
pdls -d trnコマンドで,トランザクションの状態を確認してください。
pdls -d trn HOSTNAME : host1(153415) TRNGID TRNBID STATUS PID SVID B-SVID HRD1unt100020b4d HRD1unt100020034 READY(p,n) 0 bes1 fes1 HRD1unt100020b22 HRD1unt100020035 READY(p,n) 0 bes1 fes1 HRD1unt100020b5a HRD1unt100020036 READY(p,n) 0 bes1 fes1 HRD1unt100020b5f HRD1unt100020037 ROLLBACK(u,n) 29799 bes1 fes1 HRD1unt100020b69 HRD1unt100020039 FORGETTING(r,w) 0 bes1 fes1 |
pdls -d trnコマンドの実行結果(STATUSの欄)に,READY(p,?)状態又はFORGETTING(?,w)状態のトランザクションがある場合,未決着トランザクションの決着を行います。
READY(p,?)状態又はFORGETTING(?,w)状態以外のトランザクションだけがある場合は,トランザクションが自動的に決着するのを待ちます。
READY(p,?)状態又はFORGETTING(?,w)状態のトランザクションがある場合は,syslogfile中のKFPS00990-Iメッセージをサーチしてください。このとき,決着させる必要があるトランザクションのTRNGIDをキーにしてサーチします。KFPS00990-Iメッセージにはトランザクションの完了種別が表示されます。なお,サーチするKFPS00990-Iメッセージは,前回正常開始時点以降に出力されたメッセージだけを対象にしてください。
KFPS00990-I Transaction branch recovery complete. TRNGID=HRD1unt100020b5a, TRNBID=HRD1unt200020015, server=fes1, service=p_f_sqa_cauxi, completion type=c, c KFPS00990-I Transaction branch recovery complete. TRNGID=HRD1unt100020b4d, TRNBID=HRD1unt200020014, server=fes1, service=p_f_sqa_cauxi, completion type=r, r |
次に示すコマンドでトランザクションを決着してください。
コマンド名 | 機能及び適用基準 |
---|---|
pdcmt | トランザクションをコミットします。 |
pdrbk | トランザクションをロールバックします。 |
pdfgt | トランザクションを強制終了します。FORGETTING(?,w)状態のトランザクションに実行します。 |
READY(p,?)又はFORGETTING(?,w)状態以外のトランザクションだけがある場合,トランザクションは決着中のため,決着処理が完了するのを待ってください。
KFPS00992-EメッセージがHiRDBの終了処理中に出力された場合は,KFPS02183-Iメッセージが出力されたかどうかを確認してください。未決着状態のトランザクションが決着すると,30秒以内にKFPS02183-Eメッセージが出力されます。30秒以上経過してもKFPS02183-Iメッセージが表示されない場合は,未決着状態のトランザクションが存在します。
HiRDBの再開始時にKFPS00992-Eメッセージが出力された場合,又はHiRDBの稼働中にpdls -d trnコマンドで未決着状態のトランザクションを発見した場合は,トランザクションが決着しているかどうかをpdls -d trnコマンドで確認してください。
すべてのトランザクションが終了していない場合は,(5)に戻って操作してください。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.