Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Financial Service Platform 使用の手引


5.4.8 ステータス管理

OBMでは,バッチ処理を停止した場合に,停止した状況から再開できるようにステータスを管理します。これによって,処理済みのロットやデータを重複して実行したり,未処理のロットやバッチデータが抜けることがなく,バッチ業務を実行したりできます。

ステータス管理は,HiRDB上のテーブルを用いて行います。このテーブルのことをOBM管理表と呼びます。OBM管理表は,OBMを実行するシステム内に1つ作成します。OBMステータステーブルの作成方法については,「26.1 OBM環境設定」を参照してください。

〈この項の構成〉

(1) ステータスの引き継ぎ

ステータスは,OBMのTP1/EEの開始モードが再開始の場合に引き継ぎます。

OBMのTP1/EEが正常開始(強制正常開始を含む)した場合は,ステータスの引き継ぎがありません。OBM管理表に残っていた実行中のOBM状態は破棄されます。

BCSのTP1/EEの開始モードは,ステータスの引き継ぎには影響しません。BCMの状態に依存します。

表5‒16 ステータス引き継ぎ

項番

開始するサーバ

開始モード

ステータスの引き継ぎ

1

BCM

正常開始

引き継ぎません

2

再開始

引き継ぎます

3

BCS

正常開始

BCMに依存します

4

再開始

(2) OBMの状態回復と強制停止

BCMを再開始すると前回のオンライン時のOBM状態を回復します。一時休止状態の場合は,一時休止状態となる前の状態に回復します。OBMの状態回復は,オンライン初期化処理中に行われます。

前回のオンライン時に終了,停止していないOBMは強制停止します。強制停止するOBMに対しては,回復した状態に応じてクローズトランザクションと終了UOCを起動します。

クローズトランザクションと終了UOCは,BCMのTP1/EEがオンライン状態になってから起動されます。オンライン状態となったときにネゴシエーションが完了しているBCSがない場合は,TP1/EE定義bcmsvgdefコマンド-rオプションに設定した時間だけネゴシエーションの完了を待ち合わせます。待ち合わせてもネゴシエーションが完了しない場合は,BCMでクローズトランザクションを起動するかOBMの状態を一時休止中とします(OBM構成定義obmstartコマンドで設定)。

なお,ネゴシエーションの完了を待ち合わせている間は,TP1/EEはオンライン状態となっているためOBM以外のサービスを実行できます。

表5‒17 BCM再開始時のUAP/UOC起動有無

項番

前回オンライン時のOBMの状態

BCM再開始時の強制停止の有無

BCM再開始時の強制停止でUAP/UOC起動有無

クローズトランザクション

終了UOC

1

未実行

2

初期化中

3

実行中

4

クローズ中

5

終了中

6

停止処理中

7

計画停止

8

強制停止

9

再開始処理中

(凡例)

−:該当しません。

図5‒32 OBMの状態回復と強制停止

[図データ]

(3) データ型OBMの再開始点

データ型OBMを再開始する場合にノーマルトランザクションに引き渡すバッチデータは,最後に正常終了したノーマルトランザクションで処理したバッチデータの次のデータとなります。

(4) OBM状態管理表の障害

(a) BCM

BCMでは,オンライン初期化処理中にOBM状態管理表の初期化,またはOBM状態管理表からの状態回復を行います。このときにOBM状態管理表のアクセスで障害が発生した場合は,obmstsdef設定値でリトライします。obmstsdefで指定した回数リトライをしてもOBM管理表のアクセスで障害が発生した場合は,BCMのTP1/EEはプロセスダウンします。OBM状態管理表の構成が誤っている場合は,リトライしないでプロセスダウンします。

OBM実行中にOBM状態管理表のアクセスで障害が発生した場合は,OBMの状態が一時休止中となります。複数のOBMが一時休止中となった場合は,最初に一時休止状態となったOBMに対してだけKFSB55707-E(一時休止)を出力します。そのあと,一時休止状態のOBMがある間は,定期的にKFSB45713-Wメッセージを出力します。一時休止中のOBMがなくなったあとに,再度一時休止中となる障害が発生した場合は,KFSB55707-E(一時休止)が再度出力されます。

一時休止状態となったOBM名は,OBM状態表示コマンドで確認できます。

(b) BCS

OBMのトランザクション実行中にBCSでOBM状態管理表のアクセスで障害が発生した場合は,実行中のトランザクションを異常終了してBCMに障害を通知します。通知を受けたBCMはOBMを強制停止します。