オペランドの説明

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エリアが使用する共用メモリを解放します。
N:
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_trace_file_size>xdb_trace_buffer_size>xdb_trace_entry_size
>xdb_sql_text_size,xdb_sql_param_size

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_buffer_number = XDBトレース情報をスタックするバッファの面数

  ~〈符号なし整数〉((3~200))《3》
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:
パラメタトレース情報を出力します。入力用パラメタ情報だけを出力します。
OUT:
パラメタトレース情報を出力します。検索データ情報だけを出力します。
INOUT:
パラメタトレース情報を出力します。入力用パラメタ情報および検索データ情報の両方を出力します。
このオペランドは,xdb_trace_outオペランドにYを指定した場合に有効となります。

xdb_sql_accesspath_out = Y|N

  ~《N》
アクセスパス情報を出力するかどうかを指定します。アクセスパス情報については,「7.6 アクセスパス情報の表示」を参照してください。
Y:
アクセスパス情報を出力します。
N:
アクセスパス情報を出力しません。
このオペランドは,xdb_trace_outオペランドにYを指定した場合に有効となります。
なお,xdb_sql_trace_outオペランドにNを指定,または省略した場合,アクセスパス情報に加えてSQLのテキストも出力します。

xdb_sql_text_size = SQL文の出力サイズの上限

  ~〈符号なし整数〉((4096~300000))《4096》(単位:バイト)
SQLトレース情報に出力する,SQLのテキストの出力サイズの上限をバイト単位で指定します。上限を超えた部分については,切り捨てられます。
このオペランドは,ほかのオペランドの指定値によって指定できる値の範囲が決まります。オペランド間の指定値の関係については,xdb_trace_file_sizeオペランドの説明を参照してください。

xdb_sql_param_size = パラメタトレース情報の出力サイズの上限

  ~〈符号なし整数〉((4~32008))《256》(単位:バイト)
パラメタトレース情報の出力サイズの上限をバイト単位で指定します。上限を超えた部分のパラメタトレース情報は切り捨てられます。
パラメタトレース情報については,「7.5.3 パラメタトレース情報に表示される項目」を参照してください。
このオペランドは,xdb_trace_outオペランドにYを指定し,xdb_sql_param_traceオペランドにNO以外を指定した場合に有効となります。
このオペランドの指定値を大きくすると,出力する情報量が増えます。そのため,XDBトレース情報ファイルのサイズ(xdb_trace_file_sizeオペランドの指定値)も大きくする必要があります。
このオペランドは,ほかのオペランドの指定値によって指定できる値の範囲が決まります。オペランド間の指定値の関係については,xdb_trace_file_sizeオペランドの説明を参照してください。

xdb_tabledefpool_size = 表定義プールサイズ

  ~〈符号なし整数〉((0~51200))《500》(単位:キロバイト)
表定義情報を格納する表定義プールサイズをキロバイト単位で指定します。
0を指定した場合は,表定義プール機能は使用できません。
表定義プールサイズの見積もり式については,「4.2.2 表定義プールサイズの見積もり」を参照してください。

xdb_table_preread = Y | N

  ~《N》
XDBの開始時に表定義情報の一括先読みをするかどうかを指定します。
Y:
XDBの開始時に表定義情報の一括先読みをします。
N:
XDBの開始時に表定義情報の一括先読みをしません。
表定義情報の一括先読みについては,「4.2.4 表定義情報の一括先読み」を参照してください。

xdb_sqlpool_size = SQLプールサイズ

  ~〈符号なし整数〉((0,40~1000000))《0》(単位:キロバイト)
SQLプールサイズをキロバイト単位で指定します。
0を指定した場合は,SQLプール機能を使用できません。また,40より小さい値を指定した場合には,40が指定されたと仮定されます。
SQLプール機能については,「4.1 SQLプール機能」を参照してください。

xdb_lang = 文字コード

  ~《SJIS》
XDBで使用するデータの文字コード種別を指定します。指定できる文字コードを次に示します。
SJIS:
シフトJIS
TP1/Server Baseのシステム共通定義の環境変数LANGで指定する文字コードと,xdb_langオペランドで指定する文字コードを合わせてください。文字コードの設定が異なると,メッセージテキスト中の可変部分が正しく出力されないことがあります。

xdb_forward_time_limit = DB転送制限時間

  ~〈符号なし整数〉((1~65535))《1800》(単位:秒)
XDB開始時のインポート処理で,実行系から待機系にインポートデータを転送する制限時間を秒単位で指定します。指定した制限時間を超えてもインポートデータの転送が完了しない場合,待機系は開始されません。

xdb_import_work_directory = インポート時の作業ディレクトリ

  ~〈パス名〉((1~400文字))
インポート処理時に作成される一時ファイルを格納する作業ディレクトリを指定します。
ディレクトリに指定できる文字の規則,および作成される一時ファイルの容量については,「10.運用コマンド」の「eexdbimport(表データのインポート)」の-wオプションを参照してください。

xdb_wtor_interval_time = eetrbwtorコマンド実行待ちメッセージ出力間隔

  ~〈符号なし整数〉((0~60))《5》(単位:分)
ファイルの出力障害によってeetrbwtorコマンドの実行待ちとなっている間,KFSB56208-Qメッセージを出力する間隔を分単位で指定します。
0を指定した場合は,ファイルの出力障害の発生時に一度だけ,KFSB56208-Qメッセージが出力されます。

xdb_default_service_mem_size = 初期確保時のXDBスレッド領域サイズ〔,追加確保時のXDBスレッド領域サイズ〕

初期確保時のXDBスレッド領域サイズ:
~〈符号なし整数〉((1~4194303))《256》(単位:キロバイト)
追加確保時のXDBスレッド領域サイズ:
~〈符号なし整数〉((1~4194303))《256》(単位:キロバイト)
XDBのサービスで確保するXDBスレッド領域の初期確保サイズと追加確保サイズのデフォルト値を指定します。
eexdbsrvオペランドに指定しないサービスについては,このオペランドの指定値が適用されます。
TP1/EEサービス定義のユーザサービス関連定義で指定する次の表に示すトランザクションを実行するUAPについては,このオペランドの指定値が適用されます。

表6-2 xdb_default_service_mem_sizeオペランドの指定値が適用されるトランザクション

項番トランザクション種別トランザクション名称
1MI初期化トランザクション
2ME終了トランザクション
3E1エラートランザクション1
4E2エラートランザクション2
5E3エラートランザクション3
6E4エラートランザクション4
7ESエラートランザクションS
8ERエラートランザクションR
9UI実行系連絡トランザクション
XDBスレッド領域とは
トランザクション処理を行うメモリ領域のことをXDBスレッド領域といいます。XDBスレッド領域はトランザクション単位に確保されます。
トランザクションの開始時に,初期確保時のXDBスレッド領域サイズに指定した大きさのXDBスレッド領域が確保され,この領域を使用してトランザクション処理が行われます。トランザクションの処理中に,初期確保したXDBスレッド領域が不足した場合,追加確保時のXDBスレッド領域サイズに指定した大きさのXDBスレッド領域が追加確保されます。
XDBスレッド領域の追加確保時に,追加確保時のXDBスレッド領域サイズに指定した大きさのXDBスレッド領域サイズよりも大きなサイズの領域が必要になった場合は,そのサイズのXDBスレッド領域を動的に確保します。
■XDBスレッド領域サイズの見積もり
XDBスレッド領域の追加確保が発生すると,トランザクションの処理性能が低下する原因になります。そのため,基本的にはXDBスレッド領域の追加確保が発生しないように,XDBスレッド領域サイズを見積もってください。XDBスレッド領域サイズの見積もりについては,「5.1.2(2)(b)計算式B2」を参照してください(計算式B2がXDBスレッド領域サイズの見積もり式です)。
XDBスレッド領域は,トランザクションの開始時に一括して確保されるため,XDBスレッド領域の見積もりが正しく行われていない状態で,トランザクションが多重実行された場合,メモリ不足が発生するおそれがあります。この場合,XDBスレッド領域の追加確保が発生しますが,この追加確保処理でメモリ不足が発生するとトランザクションがエラーになります。
■XDBスレッド領域サイズのチューニング
XDBスレッド領域サイズを正しく見積もった場合,基本的にはXDBスレッド領域の追加確保は発生しませんが,確保した領域のフラグメンテーションなどによって追加確保が発生することがあります。そのため,TASKTM情報に出力される次に示す情報を参照して,XDBスレッド領域サイズのチューニングを定期的に行ってください。
  • XDB_スレッド領域追加確保回数(XDBスレッド領域の追加確保が発生した回数)
  • XDB_スレッド領域最大使用サイズ(トランザクションの処理中に実際に使用されたXDBスレッド領域のサイズ)
TASKTM情報については,「7.3.1 TASKTM情報に出力されるXDBに関する情報」を参照してください。
XDBスレッド領域サイズのチューニング方法を次に示します。
  1. 「XDB_スレッド領域最大使用サイズ<初期確保時のXDBスレッド領域サイズ」で,かつXDB_スレッド領域追加確保回数が0回の場合
    トランザクション処理が最も良い状態で行われているため,XDBスレッド領域サイズのチューニングは必要ありません。
  2. 「XDB_スレッド領域最大使用サイズ>初期確保時のXDBスレッド領域サイズ」で,かつXDB_スレッド領域追加確保回数が1回以上の場合
    XDBスレッド領域サイズが不足しています。XDBスレッド領域サイズを見積もり直して,初期確保時のXDBスレッド領域サイズを大きくしてください。
  3. 「XDB_スレッド領域最大使用サイズ<初期確保時のXDBスレッド領域サイズ」で,かつXDB_スレッド領域追加確保回数が1回以上の場合
    XDBスレッド領域でフラグメンテーションが発生したため,XDBスレッド領域の追加確保が発生した可能性があります。初期確保時のXDBスレッド領域サイズを大きくすると,XDBスレッド領域の追加確保が解消される可能性があります。それでもXDBスレッド領域の追加確保が発生する場合は,4のチューニングを検討してください。
  4. 2または3のチューニングを実施したが,XDBスレッド領域の追加確保が発生している場合
    XDBスレッド領域の初期確保時にメモリ不足が発生し,追加確保したXDBスレッド領域でトランザクション処理が行われている可能性があります。メモリ見積もりを再度行い,XTCサービス定義(メモリ関連定義)のmemory_xdb_area_sizeおよびmemory_xdb_limit_sizeオペランドの指定値を見直してください。

コマンド形式のオペランド

eexdbarea

{{eexdbarea  -n DBエリア名
        〔-t DBエリア種別〕
        〔-a 初期確保共用メモリ面数〔,最大確保共用メモリ面数〕〕
        〔-l 共用メモリ1面分の確保サイズ〕
        〔-p ページサイズ〕
        〔-s セグメントサイズ〕
        〔-m 警告メッセージ出力タイミング1,警告メッセージ出力タイミング2〕
         }}

DBエリアを定義します。定義するDBエリアの数だけこのオペランドを指定します。DBエリアについては,「2.2 表およびインデクスの格納領域(DBエリア)」を参照してください。

-n DBエリア名
~〈DBエリア名〉((1~30文字))
DBエリア名を指定します。
DBエリア名に指定できる文字列は,英数字,ハイフン(-),および下線(_)です。ただし,先頭の文字は必ず英字にする必要があります。
なお,DBエリア名にEDMST(マスタ用DBエリアの名称)およびEDDIC(ディクショナリ用DBエリアの名称)は指定できません。
また,DBエリア名を重複して指定した場合,一つ目の指定だけが有効となり,二つ目以降の指定は無効となります。
-t DBエリア種別
~《DATA》
DBエリアの種別を指定します。
このオプションを省略した場合はDATAが仮定されます。
DATA:
このDBエリアを表用DBエリアとして使用する場合に指定します。表用DBエリアは一つ以上定義する必要があります。
INDEX:
このDBエリアをインデクス用DBエリアとして使用する場合に指定します。
WORK:
このDBエリアを作業表用DBエリアとして使用する場合に指定します。作業用DBエリアは必ず一つ定義してください。二つ以上は定義できません。
なお,DBエリア種別にWORKを指定した場合は,DBエリア名(-nオプション)とページサイズ(-pオプション)の指定だけが有効となり,そのほかのオプションの指定はシステムが決定します(指定しても無視されます)。
-a 初期確保共用メモリ面数〔,最大確保共用メモリ面数
DBエリアの初期確保共用メモリ面数,および最大確保共用メモリ面数を指定します。
初期確保共用メモリ面数:
~〈符号なし整数〉((1~65535))《1》
XDBの開始時に確保する共用メモリ面数を指定します。
XDBの開始時に確保する共用メモリサイズは次のようになります。
  • 初期確保共用メモリ面数×共用メモリ1面分の確保サイズ(-lオプションの指定値)
このオプションを省略した場合,XDBの開始時に確保される共用メモリ面数は1面になります。
最大確保共用メモリ面数:
~〈符号なし整数〉((1~65535))
DBエリアが使用する共用メモリ面数の上限を指定します。
この指定を省略した場合,上限が設定されていないとしてXDBは処理を行います。
なお,最大確保共用メモリ面数には,初期確保共用メモリ面数より大きな値を指定してください。
(例)このオプションに-a 2,10を指定した場合
XDBの開始時に共用メモリ面数2面を確保します。DBエリアが自動増分するときに,共用メモリ面数を1面ずつ増やしていきますが,10面が上限となり,11面以上は取得されません。
-l 共用メモリ1面分の確保サイズ
~〈符号なし整数〉((3200~2415919103))《3200》(単位:キロバイト)
DBエリアが使用する共用メモリ1面のサイズをキロバイト単位で指定します。
DBエリアが自動増分する場合,共用メモリ面数を1面ずつ増やしていくため,このオプションで指定したサイズが増分するときのサイズになります。
-p ページサイズ
~〈符号なし整数〉((4096~32768))《32768》(単位:バイト)
DBエリアのページサイズをバイト単位で指定します。ページサイズは2048の倍数で指定します。2048の倍数でない場合は,XDBが2048の倍数になるように切り上げます。例えば,8000を指定した場合,8192が指定されたと仮定されます。
-s セグメントサイズ
~〈符号なし整数〉((1~80))《10》(単位:ページ)
1セグメント当たりのページ数を指定します。
例えば,このオプションに20を指定した場合,1セグメントは20ページで構成されます。
-m 警告メッセージ出力タイミング1,警告メッセージ出力タイミング2
~〈符号なし整数〉
このオペランドは,-aオプションに最大確保共用メモリ面数が指定された場合に有効となります。このオペランドは共用メモリ面数で指定します。
共用メモリを追加確保した面数が,このオペランドの指定値を超えた場合は,メッセージが出力されます。このオプションを省略した場合は,共用メモリを追加確保したメッセージだけが出力されます。
次に示す条件を満たすように,各オペランドの値を指定してください。

初期確保共用メモリ面数<警告メッセージ出力タイミング1<警告メッセージ出力タイミング2
<最大確保共用メモリ面数

eexdbareaオペランドの指定例を次に示します。

eexdbarea -n DBDATA01¥
         -t DATA¥
         -a 10,50¥
         -l 3200¥
         -p 32768¥
         -s 10¥
         -m 40,45

eexdbarea -n DBINDX01¥
         -t INDEX¥
         -a 5,20¥
         -l 3200¥
         -p 32768¥
         -s 10¥
         -m 15,18

eexdbarea -n DBWORK01¥
         -t WORK¥
         -p 32768

eexdbsrv

{{eexdbsrv -s サービス名
           〔-m 初期確保時のXDBスレッド領域サイズ
           〔,追加確保時のXDBスレッド領域サイズ〕〕
          }}

XDBのサービスで確保するXDBスレッド領域の初期確保サイズと追加確保サイズを指定します。

-s サービス名
~〈識別子〉((1~31文字))
対象とするサービスの名称を指定します。TP1/EEサービス定義のserviceオペランドで指定しているサービス名を指定してください。
同じサービス名を指定した場合,二つ目以降の指定は無視されます。
ここで指定した以外のサービスについては,xdb_default_service_mem_sizeオペランドの指定値に従って動作します。
-m 初期確保時のXDBスレッド領域サイズ〔,追加確保時のXDBスレッド領域サイズ〕
初期確保時のXDBスレッド領域サイズ:
~〈符号なし整数〉((1~4194303))(単位:キロバイト)
追加確保時のXDBスレッド領域サイズ:
~〈符号なし整数〉((1~4194303))(単位:キロバイト)
-sオプションに指定したサービスで確保するXDBスレッド領域の初期確保サイズと追加確保サイズを指定します。
XDBスレッド領域,およびXDBスレッド領域のチューニング方法については,xdb_default_service_mem_sizeオペランドの説明を参照してください。

eexdbsrvオペランドを省略した場合,または-mオプションに指定する項目を省略した場合に確保されるXDBスレッド領域サイズを次の表に示します。

表6-3 eexdbsrvオペランドを省略した場合,または-mオプションに指定する項目を省略した場合に確保されるXDBスレッド領域サイズ

項番eexdbsrvオペランドの指定-mオプションの指定確保されるXDBスレッド領域サイズ
初期確保サイズの指定追加確保サイズの指定初期確保されるXDBスレッド領域サイズ追加確保されるXDBスレッド領域サイズ
1なしなしなしab
2ありなしなしab
3ありなしcb
4ありありcd
(凡例)
a:xdb_default_service_mem_sizeオペランドの初期確保時のXDBスレッド領域サイズ
b:xdb_default_service_mem_sizeオペランドの追加確保時のXDBスレッド領域サイズ
c:eexdbsrvオペランドの初期確保時のXDBスレッド領域サイズ
d:eexdbsrvオペランドの追加確保時のXDBスレッド領域サイズ