3.2.2 抽出処理で使うファイルとプロセス
抽出処理で使うファイルとプロセスについて説明します。
- 〈この項の構成〉
(1) 抽出処理で使うファイル
抽出処理で使うファイルを次に示します。
(b) 抽出情報キューファイル
抽出処理によってHiRDBシステムログファイルから抽出した更新情報が格納されるファイルです。
抽出処理によって抽出された更新情報は順次,抽出情報キューファイルに格納されます。一つの抽出情報キューファイルが満杯になると,格納対象が次のファイルに切り替えられます。これを,スワップといいます。抽出側Datareplicatorでは,このスワップによって大量の更新情報を格納できます。スワップの順番は,抽出環境定義のqufile001〜016オペランドの指定順になります。
また,すべての抽出情報キューファイルが満杯になると,先頭のファイルにスワップされます。スワップ先のファイルの更新情報の送信が終了していない場合はスワップできません。この場合,キューファイルが満杯であることを示すメッセージが出力され,スワップ先のファイルの更新情報の送信が終了するまで,システムログファイルからの更新情報の抽出を停止します。
抽出情報キューファイルへのデータの格納方法を次の図に示します。
(c) データ連動用連絡ファイル
HiRDBでの更新情報のシステムログファイルへの格納状態や,抽出側Datareplicatorでの更新情報のシステムログファイルからの読み込み状態など,抽出処理を実行するために必要なHiRDBとの連絡情報を格納,又は読み込むためのファイルです。
(d) 抽出時のステータスファイル
障害発生時に回復に必要な抽出/送信の状態などが格納されるファイルです。抽出時のステータスファイルには,抽出マスタステータスファイルと,抽出サーバステータスファイルがあります。
(e) 抽出時のエラー情報ファイル
抽出処理や送信処理がエラーになったときに,エラーの詳細情報が出力されるファイルです。抽出時のエラー情報ファイルには,抽出マスタエラー情報ファイルと抽出ノードマスタエラー情報ファイルがあります。
なお,エラー情報ファイルに出力される情報と同様の情報を,syslogファイルにも出力できます。syslogファイルにも出力するかどうかは,抽出システム定義のsyslogoutオペランドで指定します。
(f) 抽出時の稼働トレースファイル
Datareplicatorの稼働状況を取得するファイルです。Datareplicatorの動作や性能についての情報を取得しています。稼働トレースファイルには,抽出マスタトレースファイルと抽出ノードマスタトレースファイルがあります。
(k) 抽出定義プリプロセスファイル
hdeprepコマンドを実行して,抽出定義ファイルを内部形式に変換したファイルです。抽出定義プリプロセスファイルへの変換は,抽出側Datareplicatorを起動する前に実行する必要があります。
- 抽出定義プリプロセスファイルの有効性チェック
-
抽出側Datareplicatorを起動するとき,抽出定義プリプロセスファイルが有効かどうか自動的にチェックします。次の場合は抽出側Datareplicatorの起動処理が中断されます。
-
抽出定義プリプロセスファイルの作成日付が抽出マスタステータスファイルの作成日時よりも古い場合(KFRB00713-Eメッセージが出力される)
-
hdeprepコマンドを実行した後に,抽出対象表の表定義を変更している場合(KFRB00866-Eメッセージが出力される)
ただし,環境変数のPDUSERを省略したり,パスワードの指定を省略したりしてHiRDBに接続できない場合は,KFRB00868-Wメッセージが出力され,抽出定義プリプロセスファイルの有効性をチェックしないまま抽出側Datareplicatorが起動されます。
-
(2) 抽出処理のプロセス構成
抽出側HiRDBがシングルサーバの場合の抽出処理のプロセス構成を図3-14に,抽出側HiRDBがパラレルサーバの場合の抽出処理のプロセス構成を図3-15に示します。
(a) 抽出コマンドプロセス
抽出側Datareplicatorのコマンドを処理し,抽出マスタプロセスに指示を出すプロセスです。抽出側HiRDBがパラレルサーバの場合には,システムマネジャ下で一つ稼働します。
(c) 抽出ノードマスタプロセス
抽出プロセスと送信プロセスを管理するプロセスです。抽出側HiRDBがパラレルサーバの場合には,バックエンドサーバのある各サーバマシン下で一つ稼働します。抽出側Datareplicatorでは,このサーバマシンのことをノードと呼びます。
(d) 抽出プロセス
システムログファイルから更新情報を抽出し,抽出情報キューファイルに格納するプロセスです。抽出側HiRDBがパラレルサーバの場合には,抽出対象の各バックエンドサーバ下で一つ稼働します。
(e) 送信プロセス
抽出情報キューファイルに格納されている更新情報を読み出し,反映側システムに送信するプロセスです。送信プロセスは,送信先の数分稼働します。抽出側HiRDBがパラレルサーバの場合には,抽出対象の各バックエンドサーバ下で,送信先の数だけ稼働します。ただし,抽出システム定義のsendcontrolオペランドにsendmstを指定したときは,抽出システム定義のsendprocnumオペランドに設定した値以内の送信プロセスが稼働します。
以降,抽出システム定義のsendcontrolオペランドにsendmstを指定したときを sendmst方式,nodemstを指定したときを nodemst方式と呼びます。
(f) 送信マスタプロセス
送信先数が多いときに,起動する送信プロセス数を制御/抑制するため,送信プロセスの起動,停止,スケジュールをするプロセスです。送信マスタプロセスは,送信プロセス数を制御する定義をしたときに生成されます。送信プロセス数の制御については,「3.2.5 送信プロセス数の制御」を参照してください。