スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

19.11.1 OLTPシステムとの連携中に通信障害などが発生したときの対処方法

OLTPシステムとの連携中に通信障害などが発生すると,トランザクションブランチがコミット又はロールバックできなくなります。ここでは,このときのHiRDBの処理とHiRDB管理者の処置について説明します。

<この項の構成>
(1) HiRDBの処理
(2) HiRDB管理者の処置
(3) 障害発生後にセキュア状態となったトランザクションの回復方法

(1) HiRDBの処理

トランザクションブランチの状態を保持し,処理を続行します。

(2) HiRDB管理者の処置

  1. OLTPシステムが起動していない可能性があります。OLTPシステムが起動しているかどうかを確認してください。起動していない場合は,OLTPシステムを起動してください。
  2. 障害回復ができない場合に備えて,pdcmt又はpdrbkコマンドでトランザクション決着の準備をします。詳細については,「(3)障害発生後にセキュア状態となったトランザクションの回復方法」を参照してください。

(3) 障害発生後にセキュア状態となったトランザクションの回復方法

KFPS00992-Eメッセージ(トランザクションブランチの回復ができない旨のメッセージ)が出力され,pdls -d trnコマンドでトランザクションの状態表示をしたとき,トランザクション第1状態がREADYで,かつトランザクション第2状態がpと表示されるセキュア状態(コミット2相目指示待ち状態)のトランザクションの回復方法について説明します。

(a) HiRDB/シングルサーバの場合

HiRDB/シングルサーバの場合,セキュア状態となるのはOLTPシステムからのコミット2相目指示待ち状態以外にはあり得ません。OLTPシステムが何らかの要因で異常終了しているか,又はOLTPシステムとHiRDB間の連絡ができない状態であると考えられます。よって,次に示す対策を実施してください。

  1. OLTPシステムが異常終了している場合
    OLTPシステムを再開始してください。OLTPシステムの再開始処理の延長で自動的に同期を取ってトランザクションの回復処理をします。
  2. 1.以外の場合
    OLTPシステムの状態,及びOLTPシステムとHiRDB間のネットワークの状態などを確認してください。OLTPシステムとHiRDB間の連絡ができるようになれば,OLTPシステムと同期を取ってトランザクションの回復処理をします。
  3. コマンドによる独自決着
    OLTPシステムの再起動やネットワーク回復が難しい場合,OLTPシステムと同期を取らないで,独自にコマンド決着できます。使用するコマンドは,pdcmt,pdrbk,pdfgtです。実行手順については,「19.14 未決着状態のトランザクションがあるときの対処方法」を参照してください。
    なお,この方法でトランザクションを回復した場合,OLTPシステム下で処理していた他リソースマネジャやトランザクションブランチとの整合性が取れていない場合がありますので,データの内容を確認してください。
(b) HiRDB/パラレルサーバの場合

HiRDB/パラレルサーバの場合は,セキュア状態になったサーバによって対処方法が異なります。

●フロントエンドサーバの場合
この場合は,「(a)HiRDB/シングルサーバの場合」の「1.OLTPシステムが異常終了している場合」と同様に,OLTPシステムからのコミット2相目指示待ち状態以外にはあり得ません。したがって,「(a)HiRDB/シングルサーバの場合」の「1.OLTPシステムが異常終了している場合」と同様の対処をしてください。

●バックエンドサーバ,ディクショナリサーバの場合
トランザクションの決着方法については,「19.14 未決着状態のトランザクションがあるときの対処方法」を参照してください。
なお,pd_trn_rerun_branch_auto_decide = Y(省略値はY)を指定すると,未決着状態のトランザクションを自動決着できます。