hdsrfctl(反映処理の制御)
- 〈このページの構成〉
機能
hdsrfctlコマンドには,次の機能があります。
-
停止中の反映処理を,反映方式を指定して再開始できます。hdsrfctlコマンドを実行すると,直ちに反映処理が再開始されます。
-
受信処理は稼働したままで,反映処理だけを停止できます。反映処理の停止タイミングは,指定するオプションによって異なります。
-
稼働中の反映処理の反映方式を変更する場合は,次の手順で変更してください。
-
反映処理を停止します。
-
トランザクション単位反映方式と表単位反映方式のどちらかを指定して,反映処理を再開始します。
-
-
稼働中の反映処理のコミット間隔を変更します。停止中の反映処理に対しては,コミット間隔を指定して再開始します。
形式1
hdsrfctl -d データ連動識別子 -m{ trn|tbl|spd|immediate } 〔 -c 反映処理コミット間隔〕
形式2
hdsrfctl -g 同期反映グループ名 -m{ start|immediate }
オプション(形式1)
-
制御の対象とする反映処理に対応する抽出側システムのデータ連動識別子を指定します。データ連動識別子に**を指定した場合は,引数不正エラーとなります。
抽出側DBがHiRDBの場合のデータ連動識別子については,「5.2 抽出システム定義」を参照してください。抽出側DBがメインフレーム側DBの場合のデータ連動識別子については,マニュアル「VOS3 XDMデータ連動機能 XDM/DS 解説・定義」を参照してください。
-
-m{ trn|tbl|spd|immediate }
- trn
-
トランザクション単位反映方式で反映処理を実行します。
- tbl
-
表単位反映方式(表単位分割方式,キーレンジ単位分割方式,ハッシュ分割方式)で反映処理を実行します。
- spd
-
コマンドを実行した後に,抽出側システムからの何らかのイベントを反映処理で検知した時点で,反映処理を停止します。
- immediate
-
コマンドを実行したときに処理中の反映処理が終了した時点で,反映処理を停止します。コマンドを実行したときに受信中の更新情報がある場合には,反映情報キューファイルへの格納が完了した時点で停止します。
-
-c 反映処理コミット間隔
〜〈符号なし整数〉《反映環境定義のcmtintvlオペランドの指定値》((1〜32767))
制御の対象とする反映処理が,反映側HiRDBに対してコミットを発行する間隔を指定します。ここで指定した値は,hdsrfctlコマンドを実行した後に開始される反映処理から有効になります。hdsstopコマンドを実行,又はhdsrfctlコマンドを再実行した場合には,-cオプションで前回指定した値は無効になります。
-cオプションを指定したhdsrfctlコマンドを実行して,反映処理を再開始中又はコミット間隔変更中にエラーになった場合には,指定したコミット間隔は無効になります。
オプション(形式2)
-
-g 同期反映グループ名
制御の対象とする同期反映グループを指定します。
-
-m{ start|immediate }
- start
-
同期反映グループを起動します。ただし,前回終了時に同期反映グループを解除した状態で起動した場合は,前回と同様に解除した状態で起動します。
- immediate
-
反映処理を停止します。停止方法を次に示します。
・トランザクションの処理中に同期イベントを検知した場合,トランザクションをCOMMITして反映処理を停止します。
・トランザクションの処理中に反映情報キューファイルの終端を検知した場合,トランザクションをロールバックして反映処理を停止します。
・処理中のトランザクションがない場合は即時停止します。
規則
-
hdsrfctlコマンドは,特定のデータ連動識別子に対する反映処理を対象とするコマンドです。複数のデータ連動識別子に対して反映処理を制御する場合は,データ連動識別子ごとにhdsrfctlコマンドを実行する必要があります。
-
hdsrfctlコマンドは,データ連動識別子を指定して抽出側システムごとに実行します。
-
hdsrfctlコマンドで反映処理の方式を変更する前には,hdsrfctl -m spdコマンドで,いったんイベント終了モードで反映処理を終了する必要があります。
-
反映側Datareplicatorはイベントでの要求よりも,hdsrfctlコマンドでの要求を優先します。例えば,反映処理の方式の変更を要求したイベントを実行しても,hdsrfctlコマンドで反映処理の停止を要求した場合,コマンドに従って反映処理を停止します。
-
hdsrfctlコマンドを実行すると,反映側Datareplicatorはイベント待ち状態になります。このイベント待ち状態のときにhdsrfctlコマンドを再実行すると,後で実行したhdsrfctlコマンドをイベント待ち状態の対象とします。
-
hdsstopコマンドを実行して反映側Datareplicatorが停止処理中のときは,hdsrfctlコマンドを実行するとコマンドエラーになります。
-
hdsrfctlコマンドを実行してイベント待ち状態のとき,反映処理が異常終了した場合,イベント待ち状態のhdsrfctlコマンドは取り消されます。
-
遅延時間(breaktimeオペランド)を指定して,反映処理を遅延開始している場合には,hdsrfctl -m spdコマンドを実行すると,指定時間後に反映処理を開始しないように遅延時間を無効とし,遅延開始を取り消すことができます。
-
表単位反映モードで反映処理を稼働しているときに一部の反映グループだけがエラーで停止している場合には,エラー停止している一部の反映グループだけを再開始できません。一部の反映グループだけがエラーで停止しているときの運用方法については,「6.7.1 反映処理の運用」を参照してください。
-
hdsrfctlコマンドの -mオプションでspd又はimmediateを指定している場合,-cオプションでコミット間隔を指定してもコミット間隔は無視されます。
-
hdsstopコマンド又はhdsrfctlを複数回実行した場合の動作は,コマンドに指定しているオプションによって異なります。hdsstopコマンド又はhdsrfctlを複数回実行した場合の動作については,hdsstopコマンドの文法説明の「表7-16 hdsstopコマンド又はhdsrfctlコマンドを複数回実行した場合の動作」を参照してください。
-
hdsrfctlコマンドの戻り値,終了区分,及びその要因について次の表に示します。
戻り値
区分
要因
0
正常終了
−
1
異常終了
主な要因は次のとおりです。
-
引数不正
-
コマンド実行環境不正(環境変数不正,定義ファイル不正など)
-
システムコールエラー
-
反映側Datareplicator未起動
11
コマンド受け付け不可
反映処理が稼働済みです。
12
反映処理の開始要求に対する応答がありません。
-