hdsstart(反映側Datareplicatorの起動)
機能
反映システム定義に従って,反映側Datareplicatorを起動します。反映システム定義については,「5.8 反映システム定義」を参照してください。
形式
hdsstart〔 -i〔 init 〕〔 -D データ連動識別子番号〕〔 -f〕〔 -q〕〔 -r〕〕 |-c 同期反映グループ名
|
オプション
- -i
反映側Datareplicatorの環境を初期化してから,反映側Datareplicatorを起動(初期開始)する場合に指定します。
-fオプションを省略した場合,初期化対象の反映環境が既に存在して,その反映環境の反映情報キューファイルに反映されていない更新情報が残っていると,エラーになります。
-Dオプションを指定した場合は,特定の抽出元に対応する反映環境だけを初期化して,反映側Datareplicatorを起動します。
-Dオプションを指定しない場合は,反映システム定義又は反映環境定義で指定した次に示すファイルを初期化し,反映側Datareplicatorの環境全体を初期化して,反映側Datareplicatorを起動します(-Dオプション指定時には,指定された抽出元のデータ連動識別子に対応するファイルだけが初期化されます)。
- 反映情報キューファイル
- 反映ステータスファイル
- 反映マスタステータスファイル
- 反映エラー情報ファイル
- 反映トレースファイル
- 未反映情報ファイル
- init
- 反映環境定義で指定したすべての反映情報キューファイルと反映ステータスファイルを,反映環境定義のqueuesize,statssizeオペランドに指定したそれぞれのサイズで初期作成します。
- initを指定してコマンドを実行すると,-iオプションだけを指定したときに比べて初期化処理に時間が掛かります。この処理時間は,ファイルサイズや個数によって異なります。
- ラージファイル運用時にこのオプションを指定している場合,コマンド実行時間が長くなります。詳細は「6.11.2 ラージファイル運用時のコマンド実行時間の見積もり」を参照してください。
- -Dオプションを指定した場合は,指定された抽出元のデータ連動識別子に対応するファイルだけを初期作成します。
- -D データ連動識別子番号
- 指定した抽出元に対応する反映環境に対して初期化(部分初期化)をします。指定されなかった抽出元に対応する反映環境は通常の起動をします。
- 初期開始処理でエラーが発生した場合は,処理を中断し,反映側Datareplicatorは起動しません。
- 抽出元は,データ連動識別子番号で指定します。データ連動識別子番号には,反映システム定義のデータ連動識別子(dsidxxx)のxxx部分の数字を指定します。
- データ連動識別子番号に指定できるのは,前回初期開始した時点で定義されていたデータ連動識別子番号だけで,新たに追加したデータ連動識別子番号は指定できません。
- このオプションで部分初期化の対象になるのは,反映システム定義のdsidxxx,refenvxxx,refenvxxxで指定された反映環境定義,及び反映環境定義のreffileで指定された反映定義です。
- 部分初期化以外の定義の変更は,正常開始時と同様に扱います。
- 部分初期化するデータ連動識別子以外の定義変更は行なわないでください。複数のデータ連動識別子の部分初期化を行う場合,対象のデータ連動識別子の定義変更→部分初期化を繰り返してください。
- -f
- 反映情報キューファイル内に未反映の更新情報が残っているかどうかに関係なく,強制的に初期開始を実行します。反映情報キューファイル内に未反映の更新情報が残っていた場合,未反映の更新情報は初期開始によって破棄されるため,このオプションを指定して初期開始する場合は必ず未反映の更新情報を破棄してよいかどうかを確認してから実行してください。
- なお,次のどれかに該当する場合はこのオプションを指定してください。
- ・hdsstop -t forceコマンドによって強制終了した場合
- ・反映情報キューファイルと反映ステータスファイルをキャラクタ型スペシャルファイルで作成した後に初めて初期化する場合(2回目以降は必要ありません)
- ・反映環境定義のstatsfileオペランドに指定したステータスファイルの名称を変更する場合に,変更するステータスファイルと同じ名称のファイルが既に存在しているとき
- -q
- 初期開始又は部分初期開始した後,反映Datareplicatorを起動しないで終了します。
- -r
- 反映側Datareplicator起動時に反映処理数をリセットします。
- このオプションは,反映システム定義のreflect_counter_resetオペランドでfalseを指定した場合に有効になります。
- -c 同期反映グループ名
- 指定した同期反映グループ名の同期反映をキャンセルして,反映側Datareplicatorを正常開始します。このオプションは,hdeeventコマンドの実行漏れによって反映トランザクションがCOMMITできなくなったり,反映トランザクションが反映側DBのリソース不足によってCOMMITできなくなったりした場合に使用します。
- キャンセルした同期反映グループを構成していた各データ連動識別子は,以降,データ連動識別子ごとに反映処理を実行します。また,同期反映グループを指定したことによって無効になっていたオペランドが有効となります。
- 一度キャンセルした同期反映グループは,初期化するまで再構成できません。定義されていない同期反映グループ名,又は既にキャンセルした同期反映グループ名を指定した場合,反映側Datareplicatorの正常起動はエラーになります。
規則
- hdsstartコマンドを実行して,正常終了すると0が返されます。異常終了すると1が返されます。
- 開始モードは,前回の終了モードによって異なります。開始モードと前回の終了モードとの関係を次の表に示します。
表7-12 開始モードと前回の終了モードとの関係
開始モード | 前回の終了モード | 起動時の動作内容 |
---|
初期開始 | -※1 | 前回の稼働時の動作内容を引き継がないで,反映システム定義に従って反映側Datareplicatorが開始します。 初期開始のときには,反映側Datareplicatorは「表7-13 -iオプションを指定したときの各ファイルに対する処理の内容」に示すようにファイルを初期化します。 |
部分初期開始 | -※2 | 部分初期開始のときには,反映側Datareplicatorは指定された抽出元に対応する反映環境だけを初期化して,反映側Datareplicatorが開始します。 |
正常開始 | 正常終了,イベント終了,又は即時終了 | 前回の稼働時の動作内容を引き継がないで,反映システム定義に従って反映側Datareplicatorが開始します。 |
再開始 | 異常終了又は強制終了 | 抽出側DBと反映側DBの整合性を保証するため,反映環境定義の一部のオペランド※3の設定内容を無効とし,前回の稼働時と同じ動作内容で反映側Datareplicatorが開始します。 |
- 注※1
- 前回の終了モードに関係なく,-iオプションを付けてhdsstartコマンドを実行すると,初期開始モードで反映側Datareplicatorが起動されます。
- 注※2
- -Dオプションで初期化対象に指定されたデータ連動識別子に対する処理は初期開始になります。それ以外のデータ連動識別子に対する処理は前回の終了モードによって正常開始又は再開始になります。
- 注※3
- 再開始のときには,反映環境定義のオペランドのうち,startmode,breaktime,breakmode,eventspd,eventtrn,eventtbl,cmtintvl,trncmtintvl,tblcmtintvlオペランドの設定内容が無効になります。ただし,cmtintvl,trncmtintvl,tblcmtintvlオペランドについては,抽出側DBと反映側DBの整合性が保証できた時点で,自動的にオペランドの設定内容が有効になります。
- 注※1
- キャラクタ型スペシャルファイルとDatareplicatorファイルシステム領域は,UNIX版Datareplicatorで使えます。
- Windows版Datareplicatorでは「OSの通常ファイル」で示す処理が実行されます。
- 注※2
- initを付けてhdsstart -iコマンドを実行したときは,指定したサイズで初期作成します。
- 注※3
- 再作成する場合は,OSのコマンドを使ってください。
注意
- 部分初期開始をしているときにエラーが発生したままの状態で,別のデータ連動識別子番号を指定した部分初期開始,及び正常起動はできません。
部分初期開始のエラー状態を解消するためには,エラーとなったデータ連動識別子番号を指定した部分初期開始を,エラーの原因を取り除いた後,再度実行して正常終了させるか,反映環境全体を初期開始する必要があります。
- 部分初期開始を指定できるのは,前回初期開始した時点で定義されていたデータ連動識別子番号だけで,新たに追加したデータ連動識別子番号は指定できません。
あらかじめ送信先が増えることが分かっているときは,将来使用するデータ連動識別子に**を指定しておくようにします。
部分初期開始時の指定例を次に示します。
![[図データ]](figure/rz07s040.gif)
- データ連動識別子番号001(データ連動識別子01)の部分初期開始をします。
- 定義変更後のデータ連動識別子番号002(データ連動識別子A2)の部分初期開始をします。
- 定義変更によって欠番になったデータ連動識別子番号003(データ連動識別子**)の部分初期開始をします。
- 新たに定義されたデータ連動識別子番号004(データ連動識別子A4)の部分初期開始をします。
- 定義変更によって追加されたデータ連動識別子番号005(データ連動識別子A5)は,初期開始時に定義されていないため,コマンドエラーになります。
- 指定されたデータ連動識別子番号(データ連動識別子A2)以外のデータ連動識別子番号004(データ連動識別子A4)が変更されているため,コマンドエラーになります。
2か所以上のデータ連動識別子の部分初期開始をする場合は,1か所ずつ定義の変更及び-qオプションの指定をして部分初期開始をしてください。すべての部分初期化が終了した後,正常開始をしてください。
この例の場合の実行手順を次に示します。
![[図データ]](figure/rz07s04a.gif)
- 部分初期開始時の実行手順を次に示します。
- 反映側Datareplicatorが停止していることを確認します。
- テキストエディタで定義内容を変更します。
- hdsstart -i -Dコマンドで初期化対象のデータ連動識別子番号を指定して,部分初期開始をします。
- 系切り替え構成の場合,初期化又は起動をする前にHiRDB Datareplicatorが使用する資源(共用ディスク装置)を活性化しておく必要があります。