SQL 例
6 環境設定
6.5 XDB サービス定義の作成
XDB
サービス定義でXDB
の実行環境を設定します。テキストエディタを使用してXDB
サービス定義を作成します。XDBサービス定義の記述形式は,TP1/EEのシステム定義 の記述形式と同じです。記述形式については,マニュアル「TP1/Server BaseEnterprise Option 使用の手引」を参照してください。
XDB
サービス定義を作成したあと,eexdbdefchkコマンドを実行して,XDBサービス 定義の指定内容が妥当かどうかをチェックしてください。形式
set 形式のオペランド
〔set xdb_memory_fixed = Y | N〕
〔set xdb_memory_terminate_remove = Y | N〕
〔set xdb_schema_definition_file = "定義系SQL文記述ファイル名"〕
〔set xdb_start_import_control_file = "インポート制御ファイル名"〕
〔set xdb_stop_export_control_file = "エクスポート制御ファイル名"〕
〔set xdb_trace_out= Y | N〕
〔set xdb_trace_file_size = XDBトレース情報ファイルのサイズ〕
〔set xdb_trace_file_number = XDBトレース情報ファイルの世代数〕
〔set xdb_trace_buffer_size = XDBトレース情報をスタックするバッファサイ ズ〕
〔set xdb_trace_buffer_number = XDBトレース情報をスタックするバッファの面 数〕
〔set xdb_trace_entry_size = 一時バッファ領域サイズ〕
〔set xdb_sql_trace_out = Y|N〕
〔set xdb_sql_param_trace = NO|IN|OUT|INOUT〕
〔set xdb_sql_accesspath_out = Y|N〕
〔set xdb_sql_text_size = SQL文の出力サイズの上限〕
〔set xdb_sql_param_size = パラメタトレース情報の出力サイズの上限〕
〔set xdb_tabledefpool_size = 表定義プールサイズ〕
〔set xdb_table_preread = Y | N〕
〔set xdb_sqlpool_size = SQLプールサイズ〕
〔set xdb_lang = 文字コード〕
〔set xdb_forward_time_limit = DB転送制限時間〕
〔set xdb_import_work_directory = インポート時の作業ディレクトリ〕
〔set xdb_wtor_interval_time = eetrbwtorコマンド実行待ちメッセージ出力間 隔〕
〔set xdb_default_service_mem_size = 初期確保時のXDBスレッド領域サイズ
〔,追加確保時のXDBスレッド領域サイズ〕〕
コマンド形式のオペランド
{{eexdbarea -n DBエリア名
〔-t DBエリア種別〕
〔-a 初期確保共用メモリ面数〔,最大確保共用メモリ面数〕〕
〔-l 共用メモリ1面分の確保サイズ〕
〔-p ページサイズ〕
〔-s セグメントサイズ〕
〔-m 警告メッセージ出力タイミング1,警告メッセージ出力タイミング2〕
}}
{{eexdbsrv -s サービス名
〔-m 初期確保時のXDBスレッド領域サイズ 〔,追加確保時のXDBスレッド領域サイズ〕〕
}}
オペランドの説明
XDB
サービス定義の各オペランドについて説明します。set 形式のオペランド
●
xdb_memory_fixed = Y | N
〜《N》DB
エリアが使用する共用メモリをメモリ上に固定するかどうかを指定します。Y:
DB
エリアが使用する共用メモリをメモリ上に固定します。Yを指定すると,DB
エリアが使用する共用メモリのページングによる性能低下を防げます。DB
エリアが使用する共用メモリをメモリ上に固定する場合は,「3.4.5 共用メ モリの固定化」を参照してください。N:
DB
エリアが使用する共用メモリをメモリ上に固定しません。実メモリの大きさ によっては,DBエリア以外で使用している共用メモリのページングが発生し,性能に影響を及ぼすことがあります。
!
!
!
!
注意事項このオペランドにYを指定する場合は,setrlimit_memlockオペランドを指定してくださ い。setrlimit_memlockオペランドについては,「6.4 TP1/Server Baseのユーザサービス 定義の設定」の「set形式のオペランド」を参照してください。
●
xdb_memory_terminate_remove = Y | N
〜《N》XDB
の正常終了時,DBエリアが使用する共用メモリを解放するかどうかを指定し ます。Y:
DB
エリアが使用する共用メモリを解放しません。次に示す理由によって,通常は
XDB
の正常終了時に共用メモリを解放しません。• 次回の
XDB
の開始時にDB
エリアを作成するための共用メモリが確保できなくな るのを防ぐため• 異常終了時に共用メモリの内容を障害情報として取得できるようにするため このため,できる限り共用メモリを解放しないでください。
●
xdb_schema_definition_file = "
定義系SQL
文記述ファイル名"
〜〈パス名〉((1〜
510
文字))
表およびインデクスの定義文(CREATE TABLE文,CREATE INDEX文)を記述 した定義系
SQL
文記述ファイルの名称を絶対パス名で指定します。XDB
の開始時,XDBはこのオペランドに指定した定義系SQL
文記述ファイルを読 み込んで表およびインデクスを作成します。定義系SQL
文記述ファイルについて は,「6.6 定義系SQL
文記述ファイルの作成(表およびインデクスの定義)」を参 照してください。●
xdb_start_import_control_file = "
インポート制御ファイル名"
〜〈パス名〉((1〜
510
文字))
インポート制御ファイルの名称を絶対パス名で指定します。
XDB
は,XDBの開始時にインポート制御ファイルの指定に従ってインポート処理 を実行します。インポート制御ファイルについては,「6.7 インポート制御ファイ ルおよびエクスポート制御ファイルの作成」の「インポート制御ファイルの作成」を参照してください。
! !
! !
注意事項このオペランドを省略した場合,XDBの開始時にインポート処理は行われません。
●
xdb_stop_export_control_file = "
エクスポート制御ファイル名"
〜〈パス名〉((1〜
510
文字))
エクスポート制御ファイルの名称を絶対パス名で指定します。
XDB
は,XDBの終了時にエクスポート制御ファイルの指定に従ってエクスポート 処理を実行します。エクスポート制御ファイルについては,「6.7 インポート制御 ファイルおよびエクスポート制御ファイルの作成」の「エクスポート制御ファイル の作成」を参照してください。!
!
!
!
注意事項このオペランドを省略した場合,XDBの終了時にエクスポート処理は行われません。
●
xdb_trace_out = Y | N
〜《N》XDB
トレース情報を取得するかどうかを指定します。XDBトレース情報について は,「7.4 XDBトレース情報の取得」を参照してください。Y:
XDB
トレース情報を取得します。N:
XDB
トレース情報を取得しません。●
xdb_trace_file_size = XDB
トレース情報ファイルのサイズ〜〈符号なし整数〉((800〜
4000000))《40000》
(単位:キロバイト)XDB
トレース情報ファイルの容量をキロバイト単位で指定します。ここで指定した 値が1
ファイル当たりの容量になります。なお,このオペランドの指定値は,次に示す条件を満たすようにしてください。
XDB
トレース情報ファイルの容量見積もりについては,「7.4.2(2)XDBトレース情 報量の見積もり」を参照してください。●
xdb_trace_file_number = XDB
トレース情報ファイルの世代数 〜〈符号なし整数〉((3〜100))《3》
XDB
トレース情報ファイルの世代数を指定します。$DCDIR/spool/dceeinf/xdb
ディレクトリ下に,このオペランドで指定した数のXDB
トレース情報ファイルが作成されます。●
xdb_trace_buffer_size = XDB
トレース情報をスタックするバッファサイズ 〜〈符号なし整数〉((400〜20000))《400》
(単位:キロバイト)XDB
トレース情報をスタックするバッファサイズをキロバイト単位で指定します。XDB
トレース情報はファイルに出力する前に一度メモリ上にため込んだあと,ファ イルに出力しています。そのため,このオペランドの値を小さくし過ぎると,XDB トレース情報のファイルへの出力回数が増えるため,性能が低下することがありま す。このオペランドは,ほかのオペランドの指定値によって指定できる値の範囲が決ま ります。オペランド間の指定値の関係については,xdb_trace_file_sizeオペランド の説明を参照してください。
xdb_trace_file_size>xdb_trace_buffer_size>xdb_trace_entry_size
>xdb_sql_text_size,xdb_sql_param_size
XDB
トレース情報をスタックするバッファをメモリ上に何面確保するかを指定しま す。●
xdb_trace_entry_size = 一時バッファ領域サイズ
〜〈符号なし整数〉((40〜
10000))《40》
(単位:キロバイト)XDB
トレース情報をスレッド単位で格納する一時バッファ領域のサイズをキロバイ ト単位で指定します。スレッド単位で取得した
XDB
トレース情報の大きさが,xdb_trace_entry_sizeの値 を超える場合,XDBトレース情報は取得されません。このオペランドは,ほかのオペランドの指定値によって指定できる値の範囲が決ま ります。オペランド間の指定値の関係については,xdb_trace_file_sizeオペランド の説明を参照してください。
●
xdb_sql_trace_out = Y
|N
〜《N》SQL
トレース情報およびSQL
単位情報を出力するかどうかを指定します。SQLト レース情報およびSQL
単位情報については,「7.5 SQLトレース情報,パラメタト レース情報,およびSQL
単位情報の表示」を参照してください。Y:
SQL
トレース情報およびSQL
単位情報を出力します。N:
SQL
トレース情報およびSQL
単位情報を出力しません。このオペランドは,xdb_trace_outオペランドに
Y
を指定した場合に有効となりま す。●
xdb_sql_param_trace = NO
|IN
|OUT
|INOUT
〜《NO》パラメタトレース情報を出力するかどうかを指定します。パラメタトレース情報に ついては,「7.5.3 パラメタトレース情報に表示される項目」を参照してください。
NO:
パラメタトレース情報を出力しません。
IN:
パラメタトレース情報を出力します。入力用パラメタ情報だけを出力します。