5.4.10 BCM間のOPEN状態管理
1つのBCSから2つのBCMに同時に接続する場合,同じOBMを2つのBCMから実行しないで,どちらか一方のBCMだけで実行するように状態を管理します。
この機能を使用することで,オンライン中のOBM構成定義を変更するときに,次の誤った操作を防ぎます。
-
同じOBMを同時に実行する
-
古いOBM構成定義で実行する
運用方法については「26.5 オンライン中のOBM構成定義の変更」を参照してください。
2つのBCMのうち,どちらのBCMでOBMが実行可能かをOPEN状態管理表で管理します。それぞれのBCMでは,OBMを実行可能な状態(eeobmstartコマンドを受け付ける状態)をOPEN状態と呼びます。OPEN状態管理表では,どちらのBCMがOPEN状態であるかを設定することで管理します。
2つのBCMは,通常使用のBCMと,切替用のBCMとに分かれます。切替用BCMとして使用するTP1/EEは,通常の運用では停止しておき,OBM構成定義の変更時に一時的に起動します。
OBM構成定義を変更する前は,すべてのOBMは通常使用BCMでOPEN状態となります。
OBM構成定義を変更する前のOBMの状態,OPEN状態の例を次の図に示します。
通常使用BCMでOBMを実行中に,OBM構成定義を変更して切替用BCMを起動すると,OBMごとに通常使用BCMのOBM状態を参照して,OPEN状態を変更します。通常使用BCMのOBM状態とOPEN状態の変更の詳細について次の表に示します。
項番 |
通常使用BCMのOBM状態 |
OPEN状態の変更 |
---|---|---|
1 |
未実行 |
切替用BCM開始処理中にOPEN状態を切替用BCMに変更します。 |
2 |
初期化中 |
切替用BCM開始処理中にOPEN状態の変更予約を実行します。 |
3 |
再開始処理中 |
通常使用BCMでOBMが正常終了すると,OBM終了処理の中でOPEN状態を切替用BCMに変更します。 正常終了しないで,計画停止,または強制停止した場合については項番9,10を参照してください。 |
4 |
実行中 |
|
5 |
クローズ中 |
|
6 |
終了中 |
|
7 |
停止処理中 |
切替用BCM開始処理中にOPEN状態の変更予約を実行します。 計画停止,または強制停止後については,項番9,10を参照してください。 |
8 |
一時休止 |
|
9 |
計画停止 |
計画停止/強制停止したOBMの構成が,OBM構成定義変更前後で変わっていない場合は,OPEN状態を切替用BCMに変更します。OBMの状態,ロットの状態,ロットごとの処理済み件数,eeobmchgtrnコマンドで変更した内容を切替用BCMに引き継ぎます。 計画停止/強制停止したOBMの構成が,OBM構成定義変更前後で変わっている場合,OPEN状態の変更予約を実行します。通常使用BCMでOBMが正常終了,または強制終了するとOBM終了処理の中でOPEN状態を切替用BCMに変更します。 |
10 |
強制停止 |
OBM構成変更でOBMを削除した場合は,切替用BCMに変更するときに,OPEN状態管理表から該当するOBMのOPEN状態を削除し管理対象から外します。
OBMを追加した場合は,切替用BCM開始処理中にOPEN状態を切替用BCMとしてOPEN状態管理表に追加し管理対象に加えます。
次の条件をすべて満たした場合,TP1/EEの強制正常開始処理で,OBMの状態を未実行に変更するときにOPEN状態を切替用BCMに変更します。
-
OPEN状態の変更予約が実行された状態
-
通常使用BCMのTP1/EEが計画停止または異常終了
-
再開始しないで強制正常開始した場合
OPEN状態の変更予約が実行された状態で,通常使用BCMのTP1/EEが計画停止または異常終了し,かつ,再開始しないで強制正常開始した場合,TP1/EEの強制正常開始処理で,OBMの状態を未実行に変更するときにOPEN状態を切替用BCMに変更します。
OBM構成定義を変更して切替用BCM起動時のOBMの状態,OPEN状態の例を次の図に示します。
(a) OBM1は実行中状態のため,OPEN状態の変更予約を実行します。
(b) OBM2は強制停止状態(OBM2の構成は変更していない),OBM3は未実行状態のため,OPEN状態を切替用BCMに変更します。
(c) OBM2は強制停止状態のため,切替用BCMに状態を引き継ぎます。
切替用BCM起動後に,通常使用BCMで実行中のOBMが正常終了した場合のOBMの状態,OPEN状態の例を次の図に示します。
(a) 実行中状態のOBM1が正常終了します。
(b) 変更予約されていたOBM1のOPEN状態を切替用BCMに変更します。
これによって,すべてのOBMがOBM構成定義を変更した切替用BCMで実行可能となります。
通常使用BCMのOBM構成定義を変更して通常使用BCMを再起動すると,同様のOPEN状態の変更を行い,すべてのOBMのOPEN状態が通常使用BCMに戻ります。
これによって,業務を停止しないでOBMの構成定義を変更できます。通常使用BCMのOEM構成定義変更後の,OBMの状態とOPEN状態の例を次の図に示します。
-
実行中OBMが計画停止/強制停止した場合の状態の引き継ぎ
計画停止/強制停止状態の引き継ぎは,ロット状態の引き継ぎも行います。ロット状態は,HiRDB上のロット状態管理表からだけでなくメモリ上でも管理しています。ロット状態は,TP1/EEの開始時にロット状態管理表から読み込んでメモリ上に展開します。ロット状態管理表は,自TP1/EEプロセスしか更新しないためTP1/EEの開始時だけHiRDBから読み出しています。
実行中OBMが計画停止/強制停止状態の引き継ぎ時にロット状態を引き継ぐためには,TP1/EEプロセス開始時にだけ行っていたロット状態管理表の読み込みを行う必要があります。そこで,OBM構成定義変更前のOBMで実行中のOBMが計画停止,または強制停止状態となるときに,OBM構成定義変更後のBCMにRPC通信により計画停止/強制停止状態となったことを通知します。通知を受け取ったOBM構成定義変更後のBCMは,OBM構成定義変更前のBCMのロット状態管理表を読み込んでメモリ上に展開し,OBM構成定義変更後のロット状態管理表に反映します。これによってロット状態を引き継ぎます。ロット状態の引き継ぎが終わったらOPEN状態を変更し,OBM構成定義変更前のBCMにRPC通信によってロット状態の引き継ぎ完了を通知します。
OBM構成定義変更前のBCMを通常使用BCM,OBM構成定義変更後のBCMを切替用BCMとした場合の例を次に示します。
図5‒45 実行中OBMが強制停止した場合の状態の引き継ぎ例 また,RPC通信で障害が発生した場合に備えて,定期的に状態のチェックを行います。チェック間隔はOBM関連定義obm_take_over_check_intervalで設定します。
OBM構成定義変更後のBCMのチェックでは,OBM構成定義変更前のBCMがOPENしているOBMで計画停止/強制停止状態のOBMがあれば,RPC通信で通知を受け取ったときと同様にロット状態を引き継ぎます。OBM構成定義変更前のBCMのチェックでは,計画停止/強制停止状態のOBMのOPEN状態が変わっていないか確認します。