hdsstop(反映側Datareplicatorの終了)
機能
反映側Datareplicatorを終了します。
形式
hdsstop〔 -t{ event|immediate|force }|-q 待ち時間〕 〔 -w 〕
オプション
-
-t{ event|immediate|force }
- -t event
-
イベント終了する場合に指定します。
- -t immediate
-
即時終了する場合に指定します。
- -t force
-
強制終了する場合に指定します。
-
-q 待ち時間
〜〈符号なし整数〉((5〜600))(単位:秒)
受信プロセスを終了させ,かつ,受信したデータの分まで反映を完了させて終了したい場合に,受信プロセスの終了待ち時間とともに指定します。
このパラメタは,抽出側システムのマシン電源断や通信回線断の発生で受信プロセスが回線の切断を検知できない場合や,計画系切り替えのために反映側Datareplicatorを強制的に正常終了させたい場合に指定することを前提としています。このため,正常運用(抽出側システムからの送信完了通知があり,かつ,送信完了のところまで反映を完了させて終了させる)のシェルなどには,このオプションを指定しないようにしてください。また,このオプション(-q)を指定してhdsstopコマンドを実行した後は,-t forceオプション以外は指定できなくなります。
なお,このパラメタは,-tオプションと同時に指定できません。
-
-w
反映側Datareplicatorのマスタプロセスが停止するまで待った後で,hdsstopコマンドの処理を終了するときに指定します。
計画系切り替えで使用するDatareplicator停止シェルを使用するときのようなDatareplicator本体が完全に停止するのを待ってコマンドを終了させる必要がある場合に,このオプションを指定してください。
-wオプションなしのときは,hdsstopコマンドはマスタプロセスに停止要求を送信完了すると終了します(マスタプロセスはコマンドと非同期に終了します)。
-wオプションありのときは,hdsstopコマンドはマスタプロセスに停止要求を送信完了後,マスタプロセスの終了まで待ってから終了します(コマンド終了時には,マスタプロセスも終了しています)。
規則
-
hdsstopコマンドを実行して,正常終了すると0が返されます。異常終了すると1が返されます。
-
-tオプションの指定によって,終了モードを選択できます。-tオプションの指定と終了モードとの関係を次の表に示します。
表7‒14 -tオプションと終了モードとの関係 オプション
終了モード
終了時の動作内容
なし
正常終了
hdsstopコマンドの実行後,抽出側システムの稼働単位まで反映処理を終了した時点で,反映側Datareplicatorが終了します。抽出側DBがHiRDBの場合の稼働単位は,抽出側システム全体の正常開始から正常終了までです。抽出側DBがメインフレーム側DBの場合の稼働単位については,マニュアル「VOS3 XDMデータ連動機能 XDM/DS 解説・定義」を参照してください。
なお,抽出システムとの接続状態や,hdsstopコマンドに指定したオプションによっては,上記以外の場合でも正常終了になる場合があります。詳細は「表7-15 正常終了の条件」を参照してください。
-t event
イベント終了
hdsstopコマンドの実行後,最初に抽出側システムから送信されたイベントを反映処理が検知した時点で,反映側Datareplicatorが終了します。ただし,イベントを検知する前に,抽出側システムの稼働単位までの反映が終了した場合には,イベントを待たないで,反映側Datareplicatorが終了します。
表単位反映方式で反映処理が稼働している場合は,最も遅いグループの反映が終了した時点で反映処理が終了します。
このオプションは,計画的に停止する場合にだけ使ってください。
急に停止させたい場合や受信分の反映を完了させて終了させたい場合には,このオプションは使わないでください。
-t immediate
即時終了
hdsstopコマンドの実行後,現在反映処理中の更新情報の反映が終了した時点で反映側Datareplicatorが終了します。
表単位反映方式で反映処理が稼働している場合は,最も進んでいるグループから停止し,最も反映の遅れているグループの反映が,最も進んでいるグループの停止地点に到達した時点で反映側Datareplicatorが終了します。hdsstopコマンドの実行後から,最も進んでいるグループの反映が終了する時点までに更新情報を受信した場合には,更新情報が反映情報キューファイルに格納された時点で受信処理が終了します。
-t force
強制終了
更新情報の反映状態に関係なく,hdsstopコマンドの実行後,強制的に反映側Datareplicatorが終了します。同期点処理中の場合には,同期点処理が終了した後に,反映側Datareplicatorが終了します。
強制終了すると,反映側DBと抽出側DBとで一時的な不整合が生じることがあります。この場合,次回の起動時に開始モードを再開始とすると,反映側DBが自動的に回復されます。
表7‒15 正常終了の条件 抽出システムとの接続状態
反映状態
正常終了の可否
接続中※1
受信分反映完了
×
受信分反映未完了
×※3
未接続
送信完了通知あり
(抽出側の正常停止)
受信分反映完了
○
受信分反映未完了
×※4
送信完了通知なし
(抽出側強制停止※2)
受信分反映完了
○
受信分反映未完了
×※4
- (凡例)
-
○:正常終了します。
×:正常終了しません。
- 注※1
-
通信障害によって実際には回線切断が発生していても,keep alive未設定などのために認識できない場合を含みます。
- 注※2
-
抽出側の強制停止(-t force)のほか,pdrplstopによる連動中止ログの検知や抽出側のマシン断・通信障害による通信回線切断を含みます。
- 注※3
-
hdsstopコマンドの-qオプションによって,強制的に正常終了できます。この場合,通信回線を強制的にクローズし,反映未完了分をすべて反映完了させてから停止します。なお,この終了方法は,回線切断が発生していても受信プロセスが認識できなかった場合に強制的に正常終了させるときに使います。
- 注※4
-
反映未完了分をすべて反映完了させた後は,受信分反映完了と同じです。
-
複数の抽出側システムを反映対象にしている場合には,すべての抽出側システムの反映処理を実行した後,反映側Datareplicatorは終了します。ただし,終了モードが強制終了になっている場合には,直ちに反映側Datareplicatorは終了します。
-
-tオプションの指定に関係なく,抽出側システムからの送信データがない場合で 更新情報の終端まで反映が完了しているときは,反映側Datareplicatorが終了します。
注意
-
hdsstopコマンドを実行して終了処理中のときには,抽出側システムからの接続要求を受け付けません。
-
hdsstopコマンドを実行してから終了処理が完了するまでの間に反映側システムが異常終了した場合,終了前に受け付けた停止コマンドの指示は無効になります。
-
抽出側システムからの更新情報の送信がなく,さらに受信しているすべての更新情報の反映処理が終了している状態でhdsstopコマンドを実行した場合には,コマンドのオプションの指定に関係なく,反映側Datareplicatorは終了します。ただし,オプションを指定しないhdsstopコマンド(正常終了)を実行した場合は,前回の停止が正常終了だった場合だけ,反映側Datareplicatorは終了します。
-
hdsstopコマンド又はhdsrfctlを複数回実行した場合の動作は,コマンドに指定しているオプションによって異なります。hdsstopコマンド又はhdsrfctlを複数回実行した場合の動作を次の表に示します。
表7‒16 hdsstopコマンド又はhdsrfctlコマンドを複数回実行した場合の動作 後に実行したコマンド
先に実行したコマンド
hdsstopコマンドの -tオプションの指定
hdsrfctlコマンドの -mオプションの指定
なし
event
immediate
force
trn
tbl
spd
immediate
hdsstop
コマンドの
-tオプション
の指定
なし
×
×
×
×
○
○
○
○
event
×
×
×
×
○
○
○
○
immediate
○
○
×
×
○
○
○
○
force
○
○
○
×
○
○
○
○
hdsrfctl
コマンドの
-mオプション
の指定
trn
×
×
×
×
×
×
△
△
tbl
×
×
×
×
×
×
△
△
spd
×
×
×
×
○
○
○
×
immediate
×
×
×
×
○
○
○
○
- (凡例)
-
○:先に実行したコマンドの処理を中断して,後に実行したコマンドの処理を開始します。
△:先に実行したコマンドの処理が終了しているときは,後に実行したコマンドの処理が開始します。先に実行したコマンドの処理が終了していないときは,後のコマンドを実行した時点でエラーになって,先に実行したコマンドの処理を続けます。
×:後のコマンドを実行した時点でエラーになって,先に実行したコマンドの処理を続けます。
-
Datareplicatorのバージョンが05-02以前の場合,pdrplstopコマンドを実行して抽出処理を強制終了,又は通信障害などによって抽出−反映間の通信が切断されているときに,hdsstopコマンドで反映側Datareplicatorを停止できません。この状態で反映側Datareplicatorを停止するときは,hdsstop -t immediate又はhdsstop -t forceコマンドを実行してください。
-
Windows版Datareplicatorで,hdsstop -t forceコマンドを実行しても反映側Datareplicatorを停止できなかった場合は,hdsemergencystopコマンドで反映側Datareplicatorを強制終了してください。