(2) ページ
2.3 メモリ上へのデータの展開とデータの保存
XDB
は,XDBの開始時に共用メモリ上にデータベースを作成してデータを展開し,XDB
の終了時に共用メモリ上のデータをファイルに出力して保存します。ここでは,XDBの開始時に行われる共用メモリ上へのデータ展開処理と,XDBの終了 時に行われる共用メモリ上のデータのファイルへの保存処理について説明します。
2.3.1 メモリ上へのデータの展開
XDB
を開始するときに,XDBは共用メモリ上にデータベースを作成してデータを展開 します。この処理をインポートといいます。共用メモリ上にデータを展開するときの処理の流れを次の図に示します。
図
2-5 共用メモリ上にデータを展開するときの処理の流れ
説明
1. XDB
サービス定義のeexdbarea
オペランドの指定に従って,DBエリアを共用 メモリ上に作成します。2. SQL
クス用
DB
エリアにインポートします。■
XDB
サービス定義のeexdbarea
オペランドDB
エリアの定義を行い,DBエリアの種類や,大きさを設定するためのオペランド です。詳細については,「6.5 XDBサービス定義の作成」を参照してください。■定義系
SQL
文記述ファイルCREATE TABLE
文とCREATE INDEX
文を記述したファイルです。ユーザは,XDB
を開始する前にこのファイルを作成しておく必要があります。詳細については,「6.6 定義系
SQL
文記述ファイルの作成(表およびインデクスの 定義)」を参照してください。■入力データファイル
表データを格納した
CSV
形式のファイルです。XDB
は,インポート制御ファイルの指定に従って,入力データファイルを読み込み ます。インポート制御ファイルとは,どの表にどの入力データファイルを読み込む かという情報を定義したファイルです。ユーザは,XDBを開始する前にインポート 制御ファイルを作成しておく必要があります。インポート制御ファイルの詳細については,「6.7 インポート制御ファイルおよび エクスポート制御ファイルの作成」を参照してください。
XDB
は,ここで説明した流れに従って,XDBを開始するたびに共用メモリ上にデータ ベースを作成してデータを展開します。2.3.2 メモリ上のデータの保存
XDB
を終了するときに,共用メモリ上のデータをファイルに出力して保存します。この 処理をエクスポートといい,出力先のファイルをエクスポートファイルといいます。エ クスポートファイルは,次回のXDB
開始時の入力データファイルとして使用します。共用メモリ上のデータの保存処理を次の図に示します。
図
2-6 共用メモリ上のデータの保存処理
説明
•
XDB
の終了時,表用DB
エリア内のデータをエクスポートファイルに出力しま す。インデクス用DB
エリア内のデータは出力されません。• エクスポートファイルへの出力は実行系だけで行われます。待機系では行われま せん。
■エクスポートファイル
XDB
の終了時,表用DB
エリア内のデータを出力するファイルです。一つの表に対 して,一つのエクスポートファイルが作成されます。XDB
は,エクスポート制御ファイルの指定に従って,データをエクスポートファイ ルに出力します。エクスポート制御ファイルとは,どの表のデータをどのファイル に出力するかという情報を定義したファイルです。ユーザは,XDBを開始する前に エクスポート制御ファイルを作成しておく必要があります。エクスポート制御ファイルの詳細については,「6.7 インポート制御ファイルおよ びエクスポート制御ファイルの作成」を参照してください。
次に示す理由によって,いったん確保された共用メモリは
XDB
の終了時に通常は解放さ れません。• 次回の
XDB
の開始時にDB
エリアを作成するための共用メモリが確保できなくなる のを防ぐため• 異常終了時に共用メモリの内容を障害情報として取得できるようにするため
これらの理由のため,できる限り共用メモリを解放しないでください。ただし,共用メ モリ不足などによって,共用メモリを解放する必要がある場合は,次に示すどちらかの 方法で共用メモリを解放してください。
•
eexdbshmrm
コマンドを実行する•
XDB
サービス定義のxdb_memory_terminate_remove
オペランドにY
を指定する
ドキュメント内
TP1/EE/Extended Data Cache 使用の手引
(ページ 40-44)