hdestart(抽出側Datareplicatorの起動)
機能
抽出システム定義に従って,抽出側Datareplicatorを起動します。抽出システム定義については,「5.2 抽出システム定義」を参照してください。
形式
hdestart {〔 -i〔 init 〕〔 -S 送信先識別子番号〕〕| 〔 -e 〕〔 -r 〕 〔 -s〔 送信先識別子〔{{,送信先識別子}}…〕〕〔 -L 〔 -H 〕〕〕| 〔 -R -k queue -b HiRDBサーバ名〕| 〔 -v 〔 -e 〕〔 -r 〕〕}
オプション
-
-i〔 init 〕〔 -S 送信先識別子番号〕
抽出側Datareplicatorの環境を初期化する場合に指定します。-iオプション指定時は,抽出側Datareplicatorは起動しません。
-Sオプションを指定した場合は,特定の送信先への送信環境だけを初期化します。
-Sオプションを指定しない場合は,次に示すファイルを初期化して,抽出側Datareplicatorの環境全体を初期化します(-Sオプション指定時には,ファイルは初期化されません)。
-
抽出情報キューファイル
-
抽出マスタステータスファイル
-
抽出サーバステータスファイル
-
抽出マスタエラー情報ファイル
-
抽出ノードマスタエラー情報ファイル
-
稼働トレースファイル
-
データ連動用連絡ファイル
- init
-
抽出環境定義で指定したすべての抽出情報キューファイルを,抽出環境定義のqueuesizeオペランドに指定したサイズで初期作成します。
ただし,初期作成するファイルのサイズによっては,抽出システム定義のcmwaittimeオペランドに指定した通信待ち時間内に処理が終了しないでメッセージKFRB00607-Eでエラーになることがあります。このときには,通信待ち時間を大きくしてから,初期化処理を再実行してください。
このオプションは,-Sオプション指定時には無効になります。
ラージファイル運用時にこのオプションを指定している場合,コマンド実行時間が長くなります。詳細は「6.11.2 ラージファイル運用時のコマンド実行時間の見積もり」を参照してください。
- -S 送信先識別子番号
-
指定した送信先への送信環境の初期化(部分初期化)をします。指定されなかった送信先に対しては何もしません。
送信先は,送信先識別子番号で指定します。送信先識別子番号には,抽出システム定義の送信先識別子(sendidxx又はsendidxxxx)のxx及びxxxx部分の数字を指定します。
送信先識別子番号に指定できるのは,前回初期開始した時点で定義されていた送信先識別子番号だけで,新たに追加した送信先識別子番号は指定できません。
このオプションで部分初期化の対象になるのは,抽出システム定義のsendidxx(又はsendidxxxx)及びsenddefxx(又はsenddefxxxx)で指定された送信環境定義です。
部分初期化された送信先識別子の送信プロセスは,次回起動したときに,抽出プロセスが抽出キューへ書き込んだ更新情報から送信を開始します。
部分初期化以外の定義の変更は,正常開始時と同様に扱います。
部分初期化する送信先識別子以外の定義変更は行なわないでください。複数の送信先識別子の部分初期化を行う場合,対象の送信先識別子の定義変更→部分初期化を繰り返してください。
-
-
-e
起動時に,送信処理を開始しないで,抽出処理だけを開始する場合に指定します。また,前回のhdestart指定時に抽出処理を開始していない場合に,抽出処理を開始するときにも指定します。
-
-r
抽出側Datareplicator起動時に送信データ件数をリセットする場合に指定します。
このオプションは,抽出システム定義のsend_counter_resetオペランドにfalseを指定した場合に有効となります。
-
-s〔 送信先識別子〔{{,送信先識別子 }}…〕〕〔-L〔-H〕〕
起動時に,抽出処理を開始しないで,送信処理又は更新SQL出力処理を開始する場合に指定します。また,前回のhdestart指定動時に送信処理を開始していない場合に,送信処理を開始するときにも指定します。
-
送信先識別子
特定の送信先識別子の送信処理又は更新SQL出力処理だけを開始する場合に,抽出システム定義で指定した送信先識別子を指定します。複数の送信先識別子を指定する場合には,送信先識別子と送信先識別子の間に,空白を入力しないでください。送信先識別子に**を指定した場合は,引数不正エラーとなります。
送信先識別子を省略すると,すべての送信先識別子の送信処理又は更新SQL出力処理が開始します。
-
-L
起動時に,更新SQL出力処理を開始します。
-
-H
このオプションは,-Lオプションを指定したときだけ有効です。
更新SQL出力処理でCHAR,VARCHAR,MCHAR,MVARCHAR,NCHAR,及びNVARCHARの列の列値を16進形式で出力します。出力する列値の形式や内容については,「9.8.2 更新SQLファイル」を参照してください。
このオプションは,更新SQLファイルに出力された列値が文字データとして読み取れなかった場合に指定してください。列値に制御コード(0x00〜0x1F)などの表示できない文字が含まれていたり,列値に文字データではなく16進数が格納されていたりすると,文字データとして読み取れません。
-
-
-R
抽出環境を回復します。
-
-k queue
抽出情報キューファイル回復機能を使用して,抽出情報キューファイルを回復します。抽出情報キューファイル回復機能の詳細については,「9.7 抽出情報キューファイル回復機能」を参照してください。
-
-b HiRDBサーバ名 〜〈8文字の記号名称〉
回復対象とする抽出環境をHiRDBサーバ名で指定します。
抽出側HiRDBがシングルサーバの場合は,シングルサーバのサーバ名(HiRDBのpdstart -sコマンドに指定するサーバ名)を指定してください。
抽出側HiRDBがパラレルサーバの場合は,回復対象のバックエンドサーバ名を指定してください。サーバ名は,バックエンドサーバの抽出環境定義に指定しているサーバ名と同じにしてください。サーバ名が異なる場合は,KFRB00711-Eメッセージを出力してエラー終了します。
なお,サーバ名は一つだけ指定してください。回復対象のサーバが複数ある場合は,回復対象のサーバの数だけコマンドを実行してください。
-
-
-v
システムログファイルによるデータ連動回復を実行します。
システムログファイルによるデータ連動回復については,「9.5 システムログファイルによるデータ連動回復」を参照してください。
規則
-
hdestartコマンドを実行後,正常終了すると,0が返されます。異常終了すると,1が返されます。
-
開始モードは,前回の終了モードによって異なります。開始モードと前回の終了モードとの関係を次の表に示します。
表7‒3 抽出側Datareplicatorの開始モードと終了モードとの関係 開始モード
前回の終了モード
起動時の動作内容
初期開始
−※
初期開始のときには,抽出側Datareplicatorは「表7-4 -iオプション指定時(-Sオプションは指定していないとき)の各ファイルに対する処理の内容」に示すようにファイルを初期化します。抽出側Datareplicatorは起動しません。
部分初期開始
−※
部分初期開始のときには,抽出側Datareplicatorは指定された送信先への送信環境だけを初期化します。抽出側Datareplicatorは起動しません。
正常開始
正常終了
前回の稼働時の動作内容を引き継がないで,抽出側Datareplicator定義に従って,抽出側Datareplicatorが開始します。
再開始
異常終了又は強制終了
抽出側DBと反映側DBの整合性を保証するため,前回の稼働時と同じ動作内容で抽出側Datareplicatorが開始します。
- 注※
-
前回の終了モードに関係なく,-iオプションを付けてhdestartコマンドを実行すると,初期開始又は部分初期開始されます。
-
-iオプション指定時(-Sオプションは指定していないとき)の各ファイルに対する処理の内容を次の表に示します。
表7‒4 -iオプション指定時(-Sオプションは指定していないとき)の各ファイルに対する処理の内容 ファイル名
既存の
ファイルなし
既存のファイル種別
Datareplicatorファイルシステム領域※1
OSの
通常ファイル
キャラクタ型スペシャルファイル※1
初期化状態
使っている状態
抽出情報キューファイル
OSの通常ファイル形式で作成される
再作成
何もしない※2
ファイルが割り当てられます。
ファイルが再割り当てされます。
抽出マスタステータスファイル
ヘッダ初期化※2
−
−
抽出サーバステータスファイル
ヘッダ初期化※2
ファイルが割り当てられます。
ファイルが再割り当てされます。
抽出マスタエラー情報ファイル
キャラクタ型スペシャルファイルでは作成できません。
−
−
抽出ノードマスタエラー情報ファイル
−
−
稼働トレースファイル
−
−
データ連動用連絡ファイル
ヘッダ初期化※2
ファイルが割り当てられます。
ファイルが再割り当てされます。
- (凡例)
-
−:Datareplicatorファイルシステム領域に格納できません。
- 注※1
-
キャラクタ型スペシャルファイルとDatareplicatorファイルシステム領域は,UNIX版Datareplicatorで使えます。
Windows版Datareplicatorでは「OSの通常ファイル」で示す処理が実行されます。
- 注※2
-
再作成する場合は,OSのコマンドを使ってください。
-
-iオプションを指定しないでhdestartコマンドを実行すると,指定したオプションに従って,抽出側Datareplicatorのプロセスが起動します。オプションと起動プロセスの関係については,「表7-7 実行するhdestartコマンドの一覧」を参照してください。既に抽出側Datareplicatorが稼働している場合に-iオプションを指定しないでhdestartコマンドを実行すると,指定したオプションに対応するプロセスのうち,停止しているプロセスだけが起動します。
-
抽出側Datareplicatorの状態によっては,hdestartコマンドを実行できない場合があります。抽出側Datareplicatorの状態と実行できるhdestartコマンドの関係を次の表に示します。
表7‒5 抽出側Datareplicatorの状態と実行できるhdestartコマンドの関係 抽出側Datareplicatorの状態
オプションの指定
なし
-i
-e
-s
-s -L
-R
-v
起動処理中
×
×
×
×
×
×
×
稼働中※
○
×
○
○
×
×
×
更新SQL出力中
×
×
×
×
○
×
×
停止処理中
×
×
×
×
×
×
×
停止中
○
○
○
○
○
○
○
- (凡例)
-
○:実行できます。
×:実行できません(エラーになります)。
- 注※
-
抽出処理,又は送信処理が停止しているときに,hdestart -i以外のhdestartコマンドを実行した場合,抽出処理と送信処理は,前回の続きから処理を再開します。
-
hdestartコマンドを実行するとき,複数のオプションを組み合わせて指定できます。hdestartコマンドのオプションの組み合わせの関係を次の表に示します。
表7‒6 起動コマンドのオプションの組み合わせの関係 コマンドのオプション
-i
-e
-s
-s -L
-r
-R
-k
-v
-i
×
×
×
×
×
×
×
×
-e
×
×
○
×
○
×
×
○
-s
×
○
×
×
○
×
×
×
-s -L
×
×
×
×
○
×
×
×
-r
×
○
○
○
×
×
×
○
-R
×
×
×
×
×
×
○
×
-k
×
×
×
×
×
○
×
×
-v
×
○
×
×
○
×
×
×
- (凡例)
-
○:実行できます。
×:実行できません(エラーになります)。
-
障害が発生して,一部の抽出側のプロセスが停止した場合には,起動時と同じコマンドを実行してください。起動時と同じコマンドを実行することで,エラーで停止している抽出側のプロセスだけを再起動できます。この場合,正常に稼働しているプロセスに対しては,何も影響がありません。
-
抽出側HiRDBがパラレルサーバの場合の,hdestartコマンドによる動作を「図7-1 抽出側HiRDBがパラレルサーバの場合の,hdestartコマンドによる動作」に,実行するhdestartコマンドの一覧を「表7-7 実行するhdestartコマンドの一覧」に示します。「図7-1 抽出側HiRDBがパラレルサーバの場合の,hdestartコマンドによる動作」の数字は,「表7-7 実行するhdestartコマンドの一覧」の数字と対応しています。
図7‒1 抽出側HiRDBがパラレルサーバの場合の,hdestartコマンドによる動作 表7‒7 実行するhdestartコマンドの一覧 実行するコマンド
動作内容
hdestart -i
抽出側Datareplicatorの環境を初期化
hdestart
すべて(1〜9)を起動
hdestart -e
抽出マスタプロセス(1),抽出ノードマスタプロセス(2,6),抽出プロセス(3,7)を起動
hdestart -s
抽出マスタプロセス(1),抽出ノードマスタプロセス(2,6),すべての送信プロセス※(4,5,8,9)を起動
hdestart -s SND1
抽出マスタプロセス(1),抽出ノードマスタプロセス(2,6),送信先識別子がSND1の送信プロセス※(4,8)を起動
hdestart -e -s SND1
抽出マスタプロセス(1),抽出ノードマスタプロセス(2,6),抽出プロセス(3,7),送信先識別子がSND1の送信プロセス※(4,8)を起動
- 注※
-
sendcontrolオペランドにsendmstを指定している場合,送信マスタプロセスと送信プロセスが起動します。
注意
-
-eオプション,又は -sオプションを指定しない場合は,抽出処理と送信処理を連動して実行します。
-
hdestartコマンドを実行する前に,/etc/inetd.confという通信の環境変数を設定する必要があります。通信環境の設定方法については,「2.4 環境変数の設定(UNIX)」又は「2.8 環境変数の設定(Windows)」を参照してください。
-
次の場合は,hdestartコマンドを実行する前にhdeprepコマンドを実行する必要があります。
-
初めてデータ連動を開始する場合
-
hdestart -iコマンドを実行した場合
-
抽出側の表定義又は抽出定義を変更する場合
-
-
hdestartコマンドの実行ユーザは,抽出側HiRDBの実行ユーザと同じユーザグループに属しているユーザでなければなりません。
-
hdestart -iコマンドは,抽出側HiRDBがHiRDB Datareplicator連携を実行していないときに指定してください。抽出側HiRDBがHiRDB Datareplicator連携を実行しているかどうかは,pdlsコマンドで確認できます。HiRDB Datareplicator連携を実行している場合には,pdrplstopコマンドで,HiRDB Datareplicator連携を中止してください。
-
部分初期開始をしているときにエラーが発生したままの状態で,別の送信先識別子番号を指定した部分初期開始,抽出定義のプリプロセス,及び正常起動はできません。
部分初期開始のエラー状態を解消するためには,エラーとなった送信先識別子番号を指定した部分初期開始を,エラーの原因を取り除いた後,再度実行して正常終了させるか,抽出環境全体を初期開始する必要があります。
-
-iオプションの指定(部分初期開始の場合は除きます)で実行した場合には,処理を開始するかどうかの確認を応答する必要があります。
-
部分初期開始を指定できるのは,前回初期開始した時点で定義されていた送信先識別子番号だけで,新たに追加した送信先識別子番号は指定できません。
あらかじめ送信先が増えることが分かっているときは,将来使用する送信先識別子に**を指定しておくようにします。
部分初期開始時の指定例を次に示します。
-
送信先識別子番号01(送信先識別子SND001)の部分初期開始をします。
-
定義変更後の送信先識別子番号02(送信先識別子NEW002)の部分初期開始をします。
-
定義変更によって欠番になった送信先識別子番号03(送信先識別子**)の部分初期開始をします。
-
新たに定義された送信先識別子番号04(送信先識別子NEW004)の部分初期開始をします。
-
定義変更によって追加された送信先識別子番号05(送信先識別子NEW005)は,初期開始時に定義されていないため,コマンドエラーになります。
-
指定された送信先識別子番号(送信先識別子NEW002)以外の送信先識別子番号004(送信先識別子NEW004)が変更されているため,コマンドエラーになります。
2か所以上の送信先識別子の部分初期開始をする場合は,1か所ずつ定義の変更をして部分初期開始をしてください。すべての部分初期化が終了した後,正常開始をしてください。
この例の場合の実行手順を次に示します。
-
-
部分初期開始時の実行手順を次に示します。
-
抽出側Datareplicatorが停止していることを確認します。
-
テキストエディタで定義内容を変更します。
-
hdestart -i -Sコマンドで初期化対象の送信先識別子番号を指定して,部分初期開始をします。
-
hdeprepコマンドを実行します。
-
抽出側Datareplicatorを正常開始します。
-
-
系切り替え構成の場合,初期化又は起動をする前にHiRDB Datareplicatorが使用する資源(共用ディスク装置,ネットワーク)を活性化しておく必要があります。
-
hdestart -iコマンド,及びhdestartコマンドが正常に完了したかどうかは,コマンドのリターンコードではなく,抽出マスタエラー情報ファイルに次のメッセージが出力されているかどうかで確認してください。
-
hdestart -iコマンドの場合:KFRB00504-Iメッセージ
-
hdestartコマンドの場合:KFRB00502-Iメッセージ
-