hdeevent(抽出側Datareplicatorでのイベント発行)
Windows版Datareplicatorの場合,HiRDBが08-02以降のときは,このコマンドは抽出対象のHiRDBコマンドプロンプトから実行してください。
機能
hdeeventのオプションに指定したイベントコードを反映側システムに送信し,反映処理の動作を制御します。hdeeventを実行する場合には,イベント制御用テーブルを抽出側HiRDBに作成する必要があります。イベント制御用テーブルについては,「4.6.7 イベント制御用テーブルの設計」を参照してください。
形式
hdeevent -n イベントコード 〔 -u ユーザID/パスワード 〕〔 -s 送信先識別子 〕
オプション
-
イベントコードを指定します。指定できるイベントコードの範囲は次のとおりです。
- 0
-
送信プロセスを停止します。
- 1〜255
-
指定したイベントコードを反映側Datareplicator,もしくはXDM/DSに送信します。
- 256〜32767
-
指定したイベントコードを反映側Datareplicatorに送信します。
ただし,反映側Datareplicatorのバージョンが08-10以上の場合に限ります。
反映側Datareplicatorのバージョンが08-09以前,又はXDM/DSに対して送信しようとした場合,送信プロセスでKFRB02073-Wを出力し※1,該当するイベントコードの送信は行われません。
注※1 hdeeventコマンドは正常に終了し,実際に送信を行うときに警告メッセージを出力します。
-
-u ユーザID/パスワード
ユーザID 〜〈1〜8文字の記号名称〉
パスワード 〜〈1〜28文字の記号名称〉
イベント制御用テーブルを作成したユーザIDとパスワードを指定します。ユーザID,パスワードともに大文字,小文字は区別されます。また,区切り記号(/)とユーザID,パスワードの間に空白を入れないでください。ユーザIDは8文字,パスワードは28文字までの記号名称で指定してください。
-uオプションを省略すると,抽出側HiRDBの環境変数PDUSERの値が仮定されます。PDUSERを設定していないと,hdeeventの実行時に抽出側HiRDBとの接続処理でエラーになります。
-
イベントの送信先を,送信先識別子で指定します。送信先識別子に**を指定した場合は,引数不正エラーとなります。
-sオプションを省略すると,すべての送信先に対してイベントを送信します。
規則
-
hdeeventコマンドを実行すると,抽出側HiRDBに作成したイベント制御用テーブルに対してSQL文を発行します。ここで発行したSQL文の更新ログがシステムログファイルに格納されます。抽出側Datareplicatorでは,システムログファイルからこの更新情報を抽出し,反映側システムにイベントとして送信します。
-
イベントコードと反映処理の動作については,反映側Datareplicatorの反映環境定義で設定します。反映環境定義で設定されていないイベントコードのイベントを発行した場合には,反映処理の動作に影響はありません。ただし,反映側システムのsyslogファイルにメッセージが出力されます。
-
hdeeventコマンドを実行後,正常終了すると0が返されます。異常終了すると1が返されます。
-
イベントコードが1〜255以外のイベントを発行した場合,反映側Datareplicatorには送信されません。
注意
-
hdeeventコマンドは,抽出側HiRDBが稼働中のときだけ実行できます。停止中に実行すると,エラーになります。
-
hdeeventコマンドは,抽出側システムでのトランザクション停止時に実行してください。トランザクション実行中にhdeeventコマンドを実行した場合,どのトランザクションからイベントが有効になるかの判断ができないことがあります。この場合,反映側Datareplicatorのイベント検知時点では,hdeeventコマンド実行時に実行中であったトランザクションは反映されていないことがあります。
-
抽出側HiRDBがパラレルサーバの場合,システムマネジャの存在するサーバマシンからhdeeventコマンドを実行してください。システムマネジャの存在しないサーバマシンからhdeeventコマンドを実行した場合,-sオプションを指定しているときは,エラーが発生してKFRB04001-Eメッセージが出力されます。
また,監査証跡の取得を抑止していた場合,hirdb_audit_trailオペランドの指定を無視して監査証跡が取得されます。