HiRDB データ連動機能 HiRDB Datareplicator Version 8
抽出側Datareplicatorから反映側Datareplicatorの動作内容を操作する場合には,イベント機能を使います。
イベント機能を使う場合は,反映側Datareplicatorでは反映環境定義でイベントコードと対応する処理を指定します。反映側Datareplicatorでのイベントコードの指定については,「4.7.3 反映方法の設計」を参照してください。
イベント機能を使う場合は,抽出側Datareplicatorで,イベントコードを指定したhdeeventコマンドを実行します。hdeeventコマンドを実行すると,イベント制御用テーブルに対してSQLを発行して,イベント制御用の更新情報をシステムログファイルに出力します。抽出側Datareplicatorでは,このイベント制御用の更新情報を抽出し,反映側Datareplicatorに送信して,反映側Datareplicatorの動作内容を操作します。抽出側Datareplicatorでは,イベント制御用の更新情報を検知した時点で,送信間隔を待たないで,反映側Datareplicatorに対する送信処理を開始します。送信処理の完了後は,次回の送信間隔まで送信処理待ちになります。
イベント制御用テーブルは,抽出側Datareplicatorを起動する前に,抽出側HiRDBに作成しておく必要があります。
指定できるイベントコードの範囲と動作を次の表に示します。
表4-34 指定できるイベントコードの範囲と動作
| 範 囲 | 動 作 |
|---|---|
| 0 | 送信プロセスを停止します(反映側Datareplicatorには送信されません)。 |
| 1〜255 | 指定したイベントコードを,反映側Datareplicatorに送信します。 |
| 上記以外 | 反映側Datareplicatorには送信されません。 |
hdeeventコマンドを実行すると,次のSQL文が抽出側HiRDBに対して発行されます。抽出側HiRDBがパラレルサーバの場合には,すべてのバックエンドサーバに対して,SQL文が発行されます。
LOCK TABLE "hde_dtbl" IN SHARE MODE UPDATE "hde_dtbl" SET EVNO = ユーザ指定のイベントコード COMMIT WORK |
hdeeventコマンドを実行する代わりに,同様のSQL文を発行して,反映側Datareplicatorに対してイベントを発行することもできます。ただし,イベント制御用テーブルに対しては,上記以外の操作をしないでください。
抽出側Datareplicatorを起動する前に必要になる,イベント制御用テーブルの条件を説明します。
任意のユーザIDで,イベント制御用テーブルを作成します。
hdeeventコマンドを実行する場合には,イベント制御用テーブルを作成したユーザIDを指定します。hdeeventコマンドの実行時にユーザIDの指定を省略すると,PDUSER環境変数の設定値が仮定されます。
hde_dtblで固定です。
FIX属性を指定します。
イベント制御用テーブルの構成を次の表に示します。
表4-35 イベント制御用テーブルの構成
| 列名 | 列属性 | 列長 | 値 |
|---|---|---|---|
| KEY | INTEGER | 1 | 整数 |
| EVNO | INTEGER | 1 | 0 |
| SNDID | CHAR | 10 | '0' |
図4-37 抽出側HiRDBがシングルサーバの場合のイベント制御用テーブルの例
図4-38 抽出側HiRDBがパラレルサーバの場合のイベント制御用テーブルの例
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.