7.6.2 サーバ定義のオペランドの内容
ここでは,サーバ定義の各オペランドの内容について説明します。
- 〈この項の構成〉
-
(1) システム構成に関するオペランド(set形式)
- [1] adb_db_path = DBディレクトリ名
-
〜〈パス名〉((2〜510バイト))
DBディレクトリ名を絶対パス名で指定します。このオペランドは必ず指定してください。ここで指定したDBディレクトリ名と,adbinitコマンドで指定するDBディレクトリ名は必ず一致させてください。
このオペランドに指定するパス名の規則を次に示します。
-
ルートディレクトリは指定できません。
-
サーバディレクトリ(サブディレクトリも含む)とは異なるディレクトリを指定してください。
-
半角の英数字,アンダスコア(_),ハイフン(-),シャープ(#),アットマーク(@),スラッシュ(/)だけで構成されるパス名を指定してください。
-
- [2] adb_rpc_port = HADBサーバのポート番号
-
〜〈整数〉((5,001〜65,535))《23,650》
HADBサーバとHADBクライアント間の通信で使用する,HADBサーバのポート番号を指定します。
- [マルチノード機能]
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。
- [3] adb_sys_max_users = 最大同時接続数
-
〜〈整数〉((1〜1,024))《10》
HADBサーバに接続するHADBクライアントの最大同時接続数を指定します。
クライアントグループ機能を適用する場合は,各グループの接続保証数の合計値よりも,このオペランドの指定値を大きくしてください。各グループの接続保証数の合計値の方が大きい場合は,HADBサーバの開始時にエラーとなります。
各グループの接続保証数については,「7.6.2(11) クライアントグループ機能に関するオペランドおよびオプション(コマンド形式)」のadbcltgrpオペランドの-uオプションの次の説明を参照してください。
- [マルチノード機能]
-
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。
-
このオペランドに指定された値が,マルチノード構成のHADBサーバに対する最大同時接続数になります。
-
- [4] adb_core_path = 障害情報(コアファイル)の出力先ディレクトリ名
-
〜〈パス名〉((2〜510バイト))
障害情報(コアファイル)の出力先ディレクトリ名を絶対パスで指定します。このオペランドで指定したディレクトリ下に,障害情報(コアファイル)が出力されます。
通常,このオペランドは指定不要です。このオペランドを省略した場合,障害情報(コアファイル)の出力先ディレクトリは$DBDIR/SPOOLになります。
$DBDIR/SPOOLディレクトリ下以外に,障害情報(コアファイル)を出力したい場合,このオペランドを指定してください。ただし,サーバディレクトリ下のconfディレクトリ($ADBDIR/conf),およびそのサブディレクトリは指定しないでください。
- 注意事項
-
このオペランドを指定する場合,HADB管理者にアクセス権限(読み取り権限,書き込み権限,および実行権限)が付与されたディレクトリを指定するようにしてください。
- [5] adb_blk_path_wrk = 作業表用DBエリアファイルのブロックスペシャルファイルのパス名
-
〜〈パス名〉((2〜255バイト))
HADBサーバの開始時に,作業表用DBエリアファイルに割り当てるブロックスペシャルファイルのパス名を指定します。
このオペランドの指定値,および既存の作業表用DBエリアファイル(ADBWRK)の状態に従って,作業表用DBエリアファイルを変更します。
既存の作業表用DBエリアファイルを変更する場合は,変更後にファイルを初期化します。既存の作業表用DBエリアファイルを変更しない場合は,ファイルの内容を参照して初期化していなければ初期化します。詳細を次の表に示します。
表7‒7 adb_blk_path_wrkオペランドと作業表用DBエリアファイルの関係 サーバ定義adb_blk_path_wrkオペランドの指定
既存の作業表用DBエリアファイル
なし
レギュラーファイル
ブロックスペシャルファイル
指定を省略
レギュラーファイルを作成します。
変更しません(既存のレギュラーファイルのままとなります)。
変更しません(既存のブロックスペシャルファイルのままとなります)。
パス名を指定
adb_blk_path_wrkオペランドに指定したブロックスペシャルファイルを使用します。
adb_blk_path_wrkオペランドに指定したブロックスペシャルファイルを使用します。ただし,既存と同じブロックスペシャルファイル名を指定した場合は変更しません。
- [マルチノード機能]
-
マルチノード機能を使用する場合で,作業表用DBエリアファイルがノード固有となっていないときは,次のどちらかを実施してください。
-
このオペランドに,ほかのノードと共有しないブロックスペシャルファイルを指定する
-
既存の作業表用DBエリアファイルを削除して,このオペランドを省略する
-
(2) 性能に関するオペランド(set形式)
- [6] adb_sys_rthd_num = 処理リアルスレッド数
-
〜〈整数〉((1〜4,096))《40》
処理リアルスレッド数を指定します。
処理リアルスレッドは,SQL文,および次に示す対象のコマンドを実行したときに,HADBサーバが使用するリアルスレッドのことです。
- ■対象のコマンド
-
-
adbimportコマンド
-
adbgetcstコマンド
-
adbidxrebuildコマンド
-
adbexportコマンド
-
adbmergechunkコマンド
-
adbarchivechunkコマンド
-
adbunarchivechunkコマンド
-
このオペランドには次に示す計算式から求められる値を指定してください。クライアントグループ機能を適用する場合も同様です。
- 計算式
A×B×C
- 変数の説明
-
A:同時にSQL文を実行するコネクション数
B:adb_sql_exe_max_rthd_numオペランドの値
C:1コネクション内で同時に実行するSELECT文の最大数
なお,対象のコマンドを実行する場合で,かつクライアントグループ機能を適用しない場合は,「6.14 コマンドが使用する処理リアルスレッドの最大数の見積もり」を参照して,対象のコマンドが使用する処理リアルスレッドの最大数を求めてください。そして,求めた値以上の値を,このオペランドに指定してください。計算式で求めた値以上の値を指定しないと,対象のコマンドを実行してもエラーとなるおそれがあります。
また,クライアントグループ機能を適用する場合は,各グループで使用できる処理リアルスレッドの保証数の合計値よりも,このオペランドの指定値を大きくしてください。各グループで使用できる処理リアルスレッドの保証数の合計値の方が大きい場合は,HADBサーバの開始時にエラーとなります。
各グループで使用できる処理リアルスレッドの保証数については,「7.6.2(11) クライアントグループ機能に関するオペランドおよびオプション(コマンド形式)」のadbcltgrpオペランドの-eオプションの次の説明を参照してください。
- 注意事項
-
このオペランドは,メモリ所要量への影響が大きいオペランドです。このオペランドの指定値を変更した場合は,必ずメモリ所要量の見積もりを行ってください。メモリ所要量の見積もりについては,「6.3 HADBサーバのメモリ所要量の見積もり」を参照してください。
- [7] adb_sys_uthd_num = 1リアルスレッドで生成できる擬似スレッド数
-
〜〈整数〉((0〜4,096))《128》
1リアルスレッドで生成できる擬似スレッド数を指定します。
このオペランドには,基本的にデフォルト値を指定してください。
- 注意事項
-
このオペランドに0を指定すると,非順序実行方式を適用しないでSQL文を実行します。また,コネクションスレッドだけでSQL文を実行します。
- [8] adb_sys_memory_limit = HADBサーバが使用するメモリの最大サイズ
-
〜〈整数〉((5,120〜1,000,000,000,000))(単位:メガバイト)
HADBサーバが使用するメモリ(共有メモリおよびプロセスメモリ)の最大サイズを指定します。
バージョン03-01以降のHADBサーバでは,このオペランドを指定してください。このオペランドと,サーバ定義adb_sys_proc_area_maxオペランドおよびadb_sys_rthd_area_maxオペランドは,対の関係になります。どちらか片方しか指定できません。そのため,このオペランドを指定する場合は,サーバ定義adb_sys_proc_area_maxオペランドおよびadb_sys_rthd_area_maxオペランドは指定しないでください。
このオペランドには,「6.3 HADBサーバのメモリ所要量の見積もり」の「HADBサーバが使用するメモリの最大サイズ」で求めた値以上の値を指定してください。または,HADBサーバで使用できるメモリの最大サイズを指定してください。
このオペランドを指定しない場合,サーバ定義adb_sys_proc_area_maxオペランドの指定値に従って,プロセス共通メモリの最大サイズが決まります。また,サーバ定義adb_sys_rthd_area_maxオペランドの指定値に従って,1リアルスレッド当たりのリアルスレッド固有メモリの最大サイズが決まります。
このオペランドを指定すると,次の表に従って,HADBサーバが使用するメモリ(共有メモリおよびプロセスメモリ)の最大使用量を制御します。
表7‒8 adb_sys_memory_limitオペランドが制御するメモリ領域の一覧 項番
HADBサーバが使用するメモリ領域
関連するサーバ定義のオペランド
1
共有メモリ
共有メモリ管理
−
2
プロセス共通メモリ※1
HADBサーバ制御用メモリ
−
3
その他(SQL文実行用メモリ,コマンド実行用メモリなど)
−
4
リアルスレッド固有メモリ※2
ローカル作業表用バッファ
adb_dbbuff_wrktbl_clt_blk_num
5
ハッシュグループ化領域
adb_sql_exe_hashgrp_area_size
6
ハッシュテーブル領域
adb_sql_exe_hashtbl_area_size
7
その他(SQL文実行用ワークメモリ,コマンド実行用メモリなど)
−
8
グローバルバッファページ
グローバルバッファ
adbbuff -p
9
レンジインデクス用バッファ
adbbuff -a
10
テーブルスキャン用バッファ
adbbuff -k
11
グローバル作業表用のグローバルバッファ
adb_dbbuff_wrktbl_glb_blk_num
12
プロセスメモリ
ヒープメモリ
−
- (凡例)
-
−:関連するサーバ定義のオペランドはありません。
- 注※1
-
サーバ定義adb_sys_proc_area_maxオペランドが関連します。
- 注※2
-
サーバ定義adb_sys_rthd_area_maxオペランドが関連します。
- [9] adb_sql_exe_max_rthd_num = 最大SQL処理リアルスレッド数
-
〜〈整数〉((0〜4,096))《4》
SQL処理リアルスレッド数の最大値を指定します。
SQL処理リアルスレッドは,SQL文実行時に使用する処理リアルスレッドです。
このオペランドには,HADBサーバをインストールしているマシンのCPUのコア数以下の値を指定してください。指定値を決める際には,次に示す「■adb_sql_exe_max_rthd_numオペランドを指定する際の考慮点」を確認してください。また,同時に実行するSQL文の数を考慮してください。
- 注意事項
-
このオペランドに指定した値を変更した場合,adb_sys_rthd_numオペランドに指定した値も見直してください。このオペランドにadb_sys_rthd_numオペランドの値より大きな値を指定した場合,adb_sys_rthd_numオペランドの値が仮定されます。
■adb_sql_exe_max_rthd_numオペランドを指定する際の考慮点
次に示す計算式を満たす場合,このオペランドで指定した処理リアルスレッド数をSQL文実行時に使用できないことがあります。その場合,SQL文は,このオペランドで指定した処理リアルスレッド数が確保できるようになるまで待ち状態となります。クライアントグループ機能を適用しているかどうかによって,計算式が異なります。
計算式(クライアントグループ機能を適用していない場合)
計算式(クライアントグループ機能を適用している場合)
- 変数の説明
-
A:adb_sys_rthd_numオペランドの値
B:adb_sys_max_usersオペランドの値
C:adb_sql_exe_max_rthd_numオペランドの値
D:1コネクション内で同時に実行するSELECT文の最大数(0の場合は1を代入する)
E:設定したクライアントグループまたはコマンドグループで使用できる処理リアルスレッドの保証数
F:設定したクライアントグループまたはコマンドグループの最大同時接続数
このオペランドと,クライアント定義adb_sql_exe_max_rthd_numオペランドを両方指定した場合は,クライアント定義adb_sql_exe_max_rthd_numオペランドの指定値が優先されます。ただし,クライアント定義adb_sql_exe_max_rthd_numオペランドの指定値が,このオペランドの指定値よりも大きい場合は優先されません(このオペランドの指定値が仮定されます)。
クライアント定義adb_sql_exe_max_rthd_numオペランドについては,マニュアル「HADB AP開発ガイド」の「HADBクライアントの環境設定」の「クライアント定義の作成」の「クライアント定義のオペランドの説明」を参照してください。
また,設定したクライアントグループおよびコマンドグループの中で,使用できる処理リアルスレッドの最大数よりも,adb_sql_exe_max_rthd_numオペランドの値が大きいグループがある場合,そのグループのadb_sql_exe_max_rthd_numオペランドの値には,使用できる処理リアルスレッドの最大数が仮定されます。
使用できる処理リアルスレッドの最大数については,「7.6.2(11) クライアントグループ機能に関するオペランドおよびオプション(コマンド形式)」のadbcltgrpオペランドの-rオプションを参照してください。
このオペランドの指定値と,SQL文の実行時に使用するSQL処理リアルスレッド数の関係を次の表に示します。
表7‒9 SQL文の実行時に使用するSQL処理リアルスレッド数 項番
実行するSQL文
adb_sql_exe_max_rthd_numオペランドの指定値
0を指定
1を指定
2以上を指定
1
定義系SQL
ALTER TABLE文(アーカイブマルチチャンク表をレギュラーマルチチャンク表に変更する場合)※1
使用するSQL処理リアルスレッド数は0になります。
使用するSQL処理リアルスレッド数は0になります。
使用するSQL処理リアルスレッド数は,adb_sql_exe_max_rthd_numオペランドの指定値となります。
2
DROP INDEX文※1
3
DROP SCHEMA文※1
4
DROP TABLE文※1
5
DROP USER文※1
6
REVOKE文のSCHEMA(スキーマ操作権限の取り消し)※1
7
操作系SQL
PURGE CHUNK文※1
使用するSQL処理リアルスレッド数は,計算式※2で求めた値となります。
8
TRUNCATE TABLE文※1
9
SELECT文※3
使用するSQL処理リアルスレッド数は1になります。
使用するSQL処理リアルスレッド数は,adb_sql_exe_max_rthd_numオペランドの指定値となります。
10
上記以外のSQL文※4
使用するSQL処理リアルスレッド数は0になります。
使用するSQL処理リアルスレッド数は0になります。
- 注※1
-
このオペランドに1以下を指定した場合は,コネクションスレッドだけでSQL文を実行します。このオペランドに2以上を指定した場合は,セグメントの解放処理を行うときに,表で示すSQL処理リアルスレッド数を使用してSQL文を実行します。
- 注※2
-
使用するSQL処理リアルスレッド数は,次の計算式で求めた値になります。
- 注※3
-
このオペランドに0を指定した場合は,非順序実行方式を適用しないでSQL文を実行します。このオペランドに1以上を指定した場合は,表で示すSQL処理リアルスレッド数を使用して,非順序実行方式を適用してSQL文を実行します。
- 注※4
-
このオペランドの指定値に関係なく,コネクションスレッドだけでSQL文を実行します。
- 注意事項
-
サーバ定義adb_sys_uthd_numオペランドに0を指定した場合は,このオペランドに0を指定した場合と同じようにSQL文が実行されます。
- [10] adb_sql_exe_hashgrp_area_size = ハッシュグループ化領域サイズ
-
〜〈整数〉((0,4〜1,000,000))《4,800》(単位:キロバイト)
ハッシュグループ化領域をキロバイト単位で指定します。
ローカルハッシュグループ化処理(GROUP BY句によるグループ分けにハッシングが使用される)が適用されるSQL文を実行すると,SQL処理リアルスレッドごとに,リアルスレッド固有メモリに対して,指定した値でハッシュグループ化領域が確保されます。
0を指定すると,ローカルハッシュグループ化処理は実行されません。また,4より小さい値を指定した場合には,4が指定されたと仮定されます。
ハッシュグループ化領域は,ローカルハッシュグループ化処理が適用されるSQL文ごと,そのSQL文で指定されたGROUP BY句ごとに指定の値で確保されます。
指定した値がローカルハッシュグループ化処理に十分な領域サイズでなかった場合,指定されたサイズで処理できる範囲でハッシュグループ化されます。処理できなかった行は,作業表用DBエリアに作業表として格納されます。
ハッシュグループ化領域サイズの値は,次に示す計算式で求めた値を目安としてください。なお,GROUP BY句が指定された問合せ指定が複数あるSQL文の場合は,各問合せについて求めた値の最大値を目安としてください。
- 計算式
-
- 変数の説明
-
-
LGC
グループ化列のデータ長の合計値
「6.3.4(2)(c) 変数RTHD_EXESQLSZの求め方」の「表6-8 各データ型のデータ長の一覧」を参照してください。
-
LSF
集合関数の結果のデータ長
-
NGR
グループ分け結果の行数
-
このオペランドと,クライアント定義adb_sql_exe_hashgrp_area_sizeオペランドを両方指定した場合は,クライアント定義adb_sql_exe_hashgrp_area_sizeオペランドの指定値が優先されます。クライアント定義adb_sql_exe_hashgrp_area_sizeオペランドについては,マニュアル「HADB AP開発ガイド」の「HADBクライアントの環境設定」の「クライアント定義の作成」の「クライアント定義のオペランドの説明」を参照してください。
- [11] adb_sql_exe_hashtbl_area_size = ハッシュテーブル領域サイズ
-
〜〈整数〉((0〜4,194,304))《2,000》(単位:メガバイト)
ハッシュテーブル領域のサイズをメガバイト単位で指定します。
ハッシュジョイン処理,副問合せのハッシュ実行,およびグローバルハッシュグループ化が適用されるSQL文が実行されると,SQL処理リアルスレッドごとに,リアルスレッド固有メモリに対して,次に示す計算式に従ってハッシュテーブル領域が確保されます。
- 計算式
↑このオペランドの指定値÷adb_sql_exe_max_rthd_numオペランドの指定値↑
なお,adb_sql_exe_max_rthd_numオペランドの指定値が0の場合,ハッシュジョイン処理,副問合せのハッシュ実行,およびグローバルハッシュグループ化は適用されません。
ハッシュジョイン処理,副問合せのハッシュ実行,およびグローバルハッシュグループ化については,マニュアル「HADB AP開発ガイド」の「表の結合方式」,「副問合せの処理方式」,「グループ化の処理方式」を参照してください。
ハッシュテーブル領域は,ハッシュジョイン処理,副問合せのハッシュ実行,およびグローバルハッシュグループ化が適用されるSQL文ごとに確保されます。
このオペランドに0を指定した場合,ハッシュジョイン処理,副問合せのハッシュ実行,およびグローバルハッシュグループ化は適用されません。なお,次に示す場合に限り,このオペランドに0を指定してください。
- このオペランドに0を指定してもよいケース
-
次に示すオペランドの指定値を大きくできないため,メモリ不足によるエラーを回避できない場合(KFAA30919-E,またはKFAA30930-Eメッセージが出力されるとき)
-
adb_sys_rthd_area_maxオペランド
-
adb_sys_memory_limitオペランド
-
adb_dbbuff_wrktbl_clt_blk_numオペランド
-
指定した値がハッシュジョイン処理,副問合せのハッシュ実行,およびグローバルハッシュグループ化に十分な領域サイズでなかった場合,指定されたサイズで処理できる範囲でハッシュテーブルが作成されます。ハッシュテーブルで処理できなかった行は,作業表用DBエリアに作業表として格納されます。
ハッシュテーブル領域サイズの値は,次の計算式で求めた値を目安としてください。
- 計算式
-
- 変数の説明
-
-
最大SQL文単位ハッシュテーブル領域サイズ
実行する各SQL文について求めたSQL文単位ハッシュテーブル領域サイズの最大値です。SQL文単位ハッシュテーブル領域サイズは,次の計算式で求めてください。
ハッシュテーブル数,ハッシュテーブル最大行長,および中間検索結果最大件数については,「6.16.3 ハッシュテーブルを使用した検索時に作成される作業表の数」を参照してください。
-
最大SQL処理リアルスレッド数
サーバ定義adb_sql_exe_max_rthd_numオペランドの指定値です。ただし,adb_sql_exe_max_rthd_numオペランドの指定値が0の場合は,1と仮定して計算してください。
-
このオペランドと,クライアント定義adb_sql_exe_hashtbl_area_sizeオペランドを両方指定した場合は,クライアント定義adb_sql_exe_hashtbl_area_sizeオペランドの指定値が優先されます。ただし,クライアント定義adb_sql_exe_hashtbl_area_sizeオペランドの指定値が,このオペランドの指定値よりも大きい場合は優先されません(このオペランドの指定値が仮定されます)。クライアント定義adb_sql_exe_hashtbl_area_sizeオペランドについては,マニュアル「HADB AP開発ガイド」の「HADBクライアントの環境設定」の「クライアント定義の作成」の「クライアント定義のオペランドの説明」を参照してください。
- [12] adb_sys_rthd_area_max = 確保できるリアルスレッド固有メモリの最大サイズ
-
〜〈整数〉((1,024〜2,000,000,000))《1,024》(単位:メガバイト)
確保できる1リアルスレッド当たりのリアルスレッド固有メモリの最大サイズをメガバイト単位で指定します。
バージョン03-01以降のHADBサーバでは,このオペランドは指定不要です。その代わり,サーバ定義adb_sys_memory_limitオペランドを指定してください。このオペランドを指定した場合,サーバ定義adb_sys_memory_limitオペランドは指定できません。
もし,このオペランドを指定する場合は,次に示す計算式で求めた値を指定してください。
- 計算式
-
- 変数の説明
-
-
MACHINE_MEMORY_SIZE
HADBサーバをインストールしたサーバマシンに搭載された物理メモリサイズ(単位:メガバイト)
-
SHMMAN
HADBサーバ開始時に取得するHADBで使用する共有メモリの情報を格納する領域の領域サイズ(単位:キロバイト)
変数SHMMANについては,「6.3.3(1) 共有メモリ管理の所要量の求め方(HADBサーバ開始時)」を参照してください。
-
SHM_BUFGLOBAL
HADBサーバ開始時に取得するグローバルバッファ領域の領域サイズ(単位:キロバイト)
変数SHM_BUFGLOBALについては,「6.3.3(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」を参照してください。
-
RTHD_NUM
HADBサーバで使用するリアルスレッド数(単位:個)
次に示す計算式で求めてください。マルチノード機能を使用するかどうかで,計算式が異なります。
計算式(マルチノード機能を使用しない場合)
計算式(マルチノード機能を使用する場合)
-
- [13] adb_sys_proc_area_max = 確保できるプロセス共通メモリの最大サイズ
-
〜〈整数〉((5,120〜2,000,000,000))《8,192》(単位:メガバイト)
確保できるプロセス共通メモリの最大サイズをメガバイト単位で指定します。
バージョン03-01以降のHADBサーバでは,このオペランドは指定不要です。その代わり,サーバ定義adb_sys_memory_limitオペランドを指定してください。このオペランドを指定した場合,サーバ定義adb_sys_memory_limitオペランドは指定できません。
もし,このオペランドを指定する場合は,次に示す計算式で求めた値を指定してください。
- 計算式
-
- 変数の説明
-
-
MACHINE_MEMORY_SIZE
HADBサーバをインストールしたサーバマシンに搭載された物理メモリサイズ(単位:メガバイト)
-
SHMMAN
HADBサーバ開始時に取得するHADBで使用する共有メモリの情報を格納する領域の領域サイズ(単位:キロバイト)
変数SHMMANについては,「6.3.3(1) 共有メモリ管理の所要量の求め方(HADBサーバ開始時)」を参照してください。
-
SHM_BUFGLOBAL
HADBサーバ開始時に取得するグローバルバッファ領域の領域サイズ(単位:キロバイト)
変数SHM_BUFGLOBALについては,「6.3.3(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」を参照してください。
-
RTHD_NUM
HADBサーバで使用するリアルスレッド数(単位:個)
次に示す計算式で求めてください。マルチノード機能を使用するかどうかで,計算式が異なります。
計算式(マルチノード機能を使用しない場合)
計算式(マルチノード機能を使用する場合)
-
- [14] adb_sys_shm_huge_page_size = HugePagesの1ページ当たりのページサイズの倍数
-
〜〈整数〉((0〜2,147,483,647))《0》(単位:キロバイト)
HADBサーバが使用する共有メモリにHugePagesを適用する場合,HugePagesの1ページ当たりのページサイズの倍数をキロバイト単位で指定します。
このオペランドには,次のコマンドで確認した値(HugePagesの1ページ当たりのページサイズ)を指定することを推奨します。コマンドで値を確認するときは,値の単位に注意してください。このオペランドにHugePagesの1ページ当たりのページサイズの倍数以外の値を指定すると,共有メモリの確保に失敗し,HADBサーバが開始できなくなります。
- 実行するコマンド
grep Hugepagesize /proc/meminfo
- 実行結果の例
Hugepagesize: 2048 kB
この例では,2048を指定することを推奨します。
このオペランドに0を指定すると,HADBサーバが使用する共有メモリにHugePagesは適用されません。
なお,HADBサーバが使用する共有メモリにHugePagesを適用するためには,カーネルパラメタを設定する必要があります。カーネルパラメタの設定については,「6.2 カーネルパラメタの見積もり」を参照してください。
- [15] adb_dbbuff_wrktbl_glb_blk_num = グローバル作業表用のグローバルバッファのページ数
-
〜〈整数〉((5〜100,000,000))《128》
グローバル作業表用のグローバルバッファのページ数を指定します。
このオペランドを指定して確保されたグローバルバッファは,グローバル作業表を作成するSQL文を実行したときだけ使用されます。
このオペランドの指定値の見積もり方法については,「6.16.1 グローバル作業表用のグローバルバッファのページ数の見積もり」を参照してください。
また,グローバル作業表については,マニュアル「HADB AP開発ガイド」の「APの性能向上に関する設計」の「作業表が作成されるSQLを実行する際の考慮点」の「作業表の種類」を参照してください。
- [16] adb_dbbuff_wrktbl_clt_blk_num = ローカル作業表用バッファのページ数
-
〜〈整数〉((5〜100,000,000))《256》
ローカル作業表用バッファのページ数を指定します。
このオペランドを指定して確保されたローカル作業表用バッファは,ローカル作業表を作成するSQL文を実行したときだけ使用されます。また,このオペランドで指定したページ数分のローカル作業表用バッファは,リアルスレッドごとに確保されます。
このオペランドの指定値の見積もり方法については,「6.16.2 ローカル作業表用バッファのページ数の見積もり」を参照してください。
ローカル作業表については,マニュアル「HADB AP開発ガイド」の「APの性能向上に関する設計」の「作業表が作成されるSQLを実行する際の考慮点」の「作業表の種類」を参照してください。
- 参考
-
-
このオペランドと,クライアント定義adb_dbbuff_wrktbl_clt_blk_numオペランドを両方指定した場合は,クライアント定義adb_dbbuff_wrktbl_clt_blk_numオペランドの指定値が優先されます。クライアント定義adb_dbbuff_wrktbl_clt_blk_numオペランドについては,マニュアル「HADB AP開発ガイド」の「HADBクライアントの環境設定」の「クライアント定義の作成」の「クライアント定義のオペランドの説明」を参照してください。
-
このオペランドと,エクスポートオプションadb_export_wrktbl_blk_numを両方指定した場合は,エクスポートオプションadb_export_wrktbl_blk_numの指定値が優先されます。エクスポートオプションadb_export_wrktbl_blk_numについては,マニュアル「HADB コマンドリファレンス」の「adbexport(データのエクスポート)」の「adbexportコマンドの指定形式」の「エクスポートオプションの形式」を参照してください。
-
実際に確保されたローカル作業表用バッファのページ数は,adbls -d lbufコマンドで確認できます。adbls -d lbufコマンドについては,マニュアル「HADB コマンドリファレンス」の「adbls -d lbuf(ローカル作業表用バッファの情報表示)」を参照してください。
-
このオペランドで指定したローカル作業表用バッファのページ数は,HADBサーバの稼働中に,adbmodbuffコマンドで変更できます。adbmodbuffコマンドについては,マニュアル「HADB コマンドリファレンス」の「adbmodbuff(バッファの変更)」を参照してください。
-
(3) システムログに関するオペランド(set形式)
- [17] adb_log_usrfile_num = ユーザログファイル数
-
〜〈整数〉((0〜10,240))《同時に表を更新できるリアルスレッド数》
特定のSQL文およびコマンドの実行時に必要なユーザログファイルの数を指定します。
指定値の分だけ,HADBサーバ開始時にユーザログファイルが作成されます。このオペランドの指定値については,「6.9.13 ユーザログファイル数の求め方」を参照してください。
留意事項を次に示します。
-
この指定を省略した場合,または0を指定した場合は,同時に表を更新できるリアルスレッド数が仮定されます。その結果,adb_log_usrfile_sizeオペランドに指定した容量のユーザログファイルが必要な分だけ作成されるようになります。そのため,ユーザログファイル数の不足によるエラーは発生しません。
-
このオペランドに1を指定した場合は,自動的に2が仮定されます。そのため,ユーザログファイルが2つ作成されます。
-
同時に表を更新できるリアルスレッド数より大きな値をこのオペランドに指定しても,同時に表を更新できるリアルスレッド数がこのオペランドの指定値として仮定されます。
-
作成されたユーザログファイルは,データベースの初期設定を再度実行するまで削除されません。そのため,次に示す計算式で求めた値以上の空き領域が,DBディレクトリ下のシステムディレクトリに存在することを確認してください。
計算式
なお,ここでの「データベースの初期設定」とは,マルチノード機能を使用していない場合は,adbinitコマンドの実行を意味しています。マルチノード機能を使用している場合は,データベース作成時の「14.3.8(2) システムディレクトリ用のファイルシステムの初期化」で説明している作業の実行を意味しています。
- [マルチノード機能]
-
マルチノード機能を使用する場合は,このオペランドは指定不要です。仮に指定値として有効な値を指定しても,このオペランドには0が指定されたと仮定されます。そして,各ノードで必要なユーザログファイル数が自動計算されて,最も大きい値が有効となります。
-
- [18] adb_log_usrfile_size = ユーザログファイルの初期化容量
-
〜〈整数〉((16〜1,048,576))《16》(単位:メガバイト)
ユーザログファイルの初期化容量をメガバイト単位で指定します。
このオペランドの指定値については,「6.9.2 ユーザログファイルの容量の求め方」を参照してください。
- [マルチノード機能]
-
マルチノード機能を使用する場合は,各ノードで指定されたユーザログファイルの初期化容量のうち,最も大きい値が有効となります。
- [19] adb_log_usrbuf_num = ユーザログバッファ面数
-
〜〈整数〉((64〜12,582,912))《64》
ユーザログファイルにアクセスするために使用するバッファの面数を指定します。
通常は,このオペランドの指定は不要です。指定値を大きくすると,ユーザログファイルへのアクセス速度が向上することがあります。
なお,HADBサーバは,ユーザログファイルごとにユーザログバッファを割り当てます。
- [マルチノード機能]
-
マルチノード機能を使用する場合は,各ノードで指定されたユーザログバッファ面数のうち,最も大きい値が有効となります。
(4) 状態監視に関するオペランド(set形式)
- [20] adb_rpc_wait_time = 応答待ち時間の上限
-
〜〈整数〉((0〜86,400))《1,800》(単位:秒)
HADBクライアントからの処理要求に応答してから,次の処理要求を受けるまでの待ち時間の上限を秒単位で指定します。
ここで指定した待ち時間を超えても,HADBクライアントから処理要求がなかった場合,HADBクライアントとの接続を切り離します。トランザクション処理中の場合は,そのトランザクションをロールバックしてからHADBクライアントとの接続を切り離します。
なお,このオペランドに0を指定した場合,待ち時間の上限は設定されません。
- [マルチノード機能]
-
マスタノードの切り替えが発生した時点で,HADBサーバに接続だけしていてトランザクションを実行していないAPは,HADBサーバから切り離されます。
- [21] adb_rpc_tcp_keepalive_time = KeepAliveプローブ開始までの無通信時間
-
〜〈整数〉((0〜120))《10》(単位:分)
HADBクライアントと確立したコネクションについて,KeepAliveプローブによる生存確認を開始するまでの無通信時間を,分単位で指定します。
通常は,このオペランドの指定は不要です。このオペランドを指定すると,OSのKeepAlive制御(KeepAliveプローブを開始するまでの無通信時間)を変更できます。
KeepAliveプローブに対する応答がない場合は,生存確認を30秒ごとに4回繰り返します。それでも応答がない場合は,HADBクライアントとのコネクションを切断します。
なお,このオペランドに0を指定した場合は,KeepAliveプローブによる生存確認を行いません。
(5) SQL文に関するオペランド(set形式)
- [22] adb_sql_prep_delrsvd_words = 削除する予約語〔,削除する予約語〕…
-
〜〈文字列〉((1〜100バイト))
HADBの予約語から削除する語を指定します。削除する予約語は999個まで指定できます。
削除する予約語は,\"(バックスラッシュと二重引用符)で囲んだ英大文字で指定してください。または,\"(バックスラッシュと二重引用符)で囲まない英大文字,英小文字で指定してください。指定した予約語が正しく削除される指定例を次に示します。
- (例)予約語「ABS」を削除する場合の指定例
-
-
adb_sql_prep_delrsvd_words = \"ABS\"
-
adb_sql_prep_delrsvd_words = ABS
-
adb_sql_prep_delrsvd_words = abs
-
- 参考
-
文字列を\"(バックスラッシュと二重引用符)で囲むと,英大文字と英小文字が区別されます。したがって,「\"abs\"」のように英小文字を\"(バックスラッシュと二重引用符)で囲んで指定すると,文字列が英小文字として扱われます。しかし,HADBには英小文字の予約語はないため,英小文字を\"(バックスラッシュと二重引用符)で囲んで指定しても予約語は削除されません。
なお,adb_sql_prep_delrsvd_wordsオペランドで削除できる予約語はあらかじめ決まっています。指定した単語が予約語ではない,または削除できない予約語の場合,警告メッセージ(KFAA51111-Wメッセージ)が出力されます。
削除できない予約語については,マニュアル「HADB SQLリファレンス」の「予約語の一覧」を参照してください。
- [マルチノード機能]
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。その際,予約語の指定順序も同じにしてください。
- [23] adb_sys_trn_iso_lv = {READ_COMMITTED|REPEATABLE_READ}
-
適用するトランザクション隔離性水準を指定します。トランザクション隔離性水準については,「2.7.2 HADBがサポートしているトランザクション隔離性水準」を参照してください。
-
READ_COMMITTED
トランザクション隔離性水準にREAD COMMITTEDを適用します。
-
REPEATABLE_READ
トランザクション隔離性水準にREPEATABLE READを適用します。
- [マルチノード機能]
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。
-
- [24] adb_sql_text_out = {Y|N}
-
HADBサーバが受け付けたすべてのSQL文をサーバメッセージログファイルに出力するかどうかを指定します。
Yを指定した場合,各SQL文の先頭から2,048バイト分まで出力されます。
-
Y
SQL文をサーバメッセージログファイルに出力します。
-
N
SQL文をサーバメッセージログファイルに出力しません。
このオペランドにNを指定した場合,またはこのオペランドを省略した場合でも,クライアント定義のadb_clt_sql_text_outオペランドにYを指定したときは,SQL文をサーバメッセージログファイルに出力します。
adb_clt_sql_text_outオペランドについては,マニュアル「HADB AP開発ガイド」の「クライアント定義のオペランドの説明」を参照してください。
-
- [25] adb_sql_trc_out = {Y|N}
-
SQL文を実行したときに,SQLトレース情報を出力するかどうかを指定します。
-
Y
SQLトレース情報をSQLトレースファイルに出力します。
-
N
SQLトレース情報をSQLトレースファイルに出力しません。
なお,このオペランドにNを指定した場合,次に示すオペランドの指定値に関係なく,SQLトレース情報は出力されません。
-
サーバ定義adb_sql_trc_paramオペランド
-
サーバ定義adb_sql_trc_accesspathオペランド
-
サーバ定義adb_sql_trc_levelオペランド
-
サーバ定義adb_sql_trc_txtfile_sizeオペランド
-
- [26] adb_sql_trc_param = {Y|N}
-
SQLトレース情報に?パラメタの情報を出力するかどうかを指定します。
-
Y
SQLトレース情報に?パラメタの情報を出力します。
-
N
SQLトレース情報に?パラメタの情報を出力しません。
なお,このオペランドにYを指定しても,サーバ定義adb_sql_trc_outオペランドにNを指定した場合,?パラメタの情報は出力されません。
-
- [27] adb_sql_trc_accesspath = {Y|N}
-
SQLトレース情報にアクセスパス情報およびアクセスパスの統計情報を出力するかどうかを指定します。
-
Y
SQLトレース情報にアクセスパス情報およびアクセスパスの統計情報を出力します。
-
N
SQLトレース情報にアクセスパス情報およびアクセスパスの統計情報を出力しません。
なお,このオペランドにYを指定しても,サーバ定義adb_sql_trc_outオペランドにNを指定した場合,アクセスパス情報およびアクセスパスの統計情報は出力されません。
-
- [28] adb_sql_trc_level = {SQL|CALL}
-
SQLトレース情報を出力する単位を指定します。
-
SQL
SQLトレース情報をSQL文単位で出力します。
-
CALL
SQLトレース情報をコール単位で出力します。
-
- [29] adb_sql_trc_txtfile_size = SQLトレースファイルの最大容量
-
〜〈整数〉((32〜1,024))《256》(単位:メガバイト)
SQLトレースファイル1つ当たりの最大容量をメガバイト単位で指定します。SQLトレースファイルは8つ作成されます。
通常は,このオペランドの指定は不要です。SQLトレースファイルの最大容量を変更したい場合に,このオペランドを指定してください。
なお,このオペランドで指定したSQLトレースファイルの最大容量は,HADBサーバを起動したときに有効となります。ただし,このオペランドの指定値を小さくした場合,HADBサーバを起動した直後には,このオペランドの指定値よりも容量が大きいSQLトレースファイルが存在することがあります。この場合は,SQLトレースファイルの切り替えが発生して,対象のSQLトレースファイルにSQLトレース情報が出力されるときに,このオペランドで指定したSQLトレースファイルの最大容量が有効となります。
- [30] adb_sql_order_mode = {BYTE|ISO}
-
ORDER BY句を指定したSELECT文の検索結果を並び替える際の,文字データの並び替え順序を指定します。このオペランドを省略した場合は,BYTEが仮定されます。
-
BYTE
文字データをバイトコード順に並び替えます。
-
ISO
文字データをソートコード順(ISO/IEC14651準拠)に並び替えます。
ただし,環境変数ADBLANGにSJISを指定している場合は,このオペランドにISOを指定できません。
- [マルチノード機能]
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。
なお,文字データの並び替え順序は,クライアント定義adb_clt_sql_order_modeオペランド,およびコネクション属性でも指定できます。それぞれ指定した場合は,次の表に示す優先順位に従って指定が決まります(優先順位の番号が小さいほど,優先順位が高くなります)。
表7‒10 文字データの並び替え順序の優先順位 優先順位
文字データの並び替え順序の指定個所
1
コネクション属性
2
クライアント定義adb_clt_sql_order_modeオペランド
3
サーバ定義adb_sql_order_modeオペランド
- [説明]
-
例えば,サーバ定義adb_sql_order_modeオペランドにISOを指定し,クライアント定義adb_clt_sql_order_modeオペランドにBYTEを指定した場合,APから実行するSELECT文(ORDER BY句を指定)には,BYTEが適用されます。
なお,上記の表中のすべての個所で指定を省略した場合は,BYTEが仮定されます。
-
- [31] adb_sql_prep_dec_div_rs_prior = {INTEGRAL_PART|FRACTIONAL_PART}
-
SQL文中に指定した除算(四則演算)の結果のデータ型がDECIMAL型の場合,除算結果の位取りの最小値を指定します。
- INTEGRAL_PART:
-
除算結果の位取りの最小値を0とします。INTEGRAL_PARTを指定した場合,整数部の桁数が優先されます。そのため,除算結果が大きな数値となる可能性があり,オーバフローエラーの発生を極力回避したい場合は,INTEGRAL_PARTを指定してください。
- FRACTIONAL_PART:
-
除算の第1演算項(被除数)の位取りを,除算結果の位取りの最小値とします。FRACTIONAL_PARTを指定した場合,第1演算項の小数部の桁数が,除算結果の小数部の桁数の最小値になります。
第1演算項をDECIMAL(p1,s1),第2演算項をDECIMAL(p2,s2)とした場合,除算結果はDECIMAL(38,s)となります。
-
INTEGRAL_PARTを指定した場合
s=MAX{0,38−(p1−s1+s2)}
-
FRACTIONAL_PARTを指定した場合
s=MAX{s1,38−(p1−s1+s2)}
このオペランドの指定値による除算結果の違いの例を次に示します。
(例)
次のSELECT文を実行したとします。
SELECT "C1"/"C2" AS "除算結果" FROM "T1"
-
INTEGRAL_PARTを指定した場合の除算結果
584.
-
FRACTIONAL_PARTを指定した場合の除算結果
584.4457
ビュー表を検索したときの除算結果の位取りの例については,マニュアル「HADB SQLリファレンス」の「除算結果のデータ型がDECIMAL型の場合の留意事項」を参照してください。
- [マルチノード機能]
-
マルチノード機能を使用する場合は,全ノードのHADBサーバでこのオペランドの指定値を同じにしてください。
(6) レンジインデクスに関するオペランド(set形式)
- [32] adb_sql_rngidx_preread ={ALL|NO|レンジインデクス名〔,レンジインデクス名〕…}
-
HADBサーバの開始時に一括先読みするレンジインデクスを指定します。レンジインデクスの一括先読みについては,「5.5.3 レンジインデクスの一括先読み」を参照してください。
- ALL:
-
全レンジインデクスを一括先読みします。
- NO:
-
レンジインデクスの一括先読みを行いません。
- レンジインデクス名:
-
〜〈文字列〉((1〜205バイト))
一括先読みするレンジインデクスを指定します。レンジインデクス名は8,192個まで指定できます。レンジインデクスの指定順に一括先読みされます。
- 注意事項
-
レンジインデクス名は,「スキーマ名.インデクス識別子」の形式で指定してください。スキーマ名を省略することはできません。
(例)\"ADBUSER01\".\"RINDX01\"
留意事項を次に示します。
-
レンジインデクスを一括先読みするには,adbbuffオペランドの-aオプション(レンジインデクス専用のグローバルバッファのページ数)の指定が必要です。そのため,一括先読み対象となるレンジインデクスを格納しているDBエリアにグローバルバッファを割り当てる際は,必ず-aオプションを指定してください。
-
レンジインデクスを一括先読みする際,1回のページ要求で,複数のページを読み込みます。そのため,adbstatコマンドを実行して出力される「グローバルバッファの統計情報」のうち,次に示す2つの情報が一致しないことがあります。
・DBbuff_page_rng_request_cnt(レンジインデクスバッファのページ要求回数)
・DBbuff_page_rng_pagein_cnt(レンジインデクスバッファのページイン回数)
adbstatコマンドについては,マニュアル「HADB コマンドリファレンス」の「adbstat(HADBサーバの統計解析)」を参照してください。
-
レンジインデクスの一括先読み中にadbbuffオペランドの-aオプションで指定したページが満杯になった場合,一部のレンジインデクスだけが読み込まれた状態になります。
-
未完状態のレンジインデクスは一括先読みされません。
-
指定したレンジインデクス名に構文的な誤りなどがある場合,そのレンジインデクスは一括先読みされません。そのほかのレンジインデクスについては,一括先読みされます。
(7) コマンドに関するオペランド(set形式)
- [33] adb_cmd_rthd_num = コマンドが使用する処理リアルスレッド数の仮定値
-
〜〈整数〉((0〜2,047))《0》
次のコマンドの実行時に,HADBサーバが使用する処理リアルスレッド数の仮定値(デフォルト値)を指定します。
-
adbarchivechunkコマンド
-
adbexportコマンド
-
adbgetcstコマンド
-
adbidxrebuildコマンド
-
adbimportコマンド
-
adbmergechunkコマンド
-
adbunarchivechunkコマンド
なお,以降の説明で出てくるコマンドとは,上記のコマンドを意味しています。
- 参考
-
このオペランドを指定する場合は,「6.13 コマンドを同時実行する際の考慮点」も参照してください。
- ■adb_cmd_rthd_numオペランドとコマンドオプションの関係
-
adb_cmd_rthd_numオペランドの指定値は,次のコマンドオプションで変更できます。
コマンド名
コマンドオプション名
adbarchivechunkコマンド
次に示すアーカイブチャンクオプション
-
adb_arcv_scan_rthd_num
adbexportコマンド
次に示すエクスポートオプション
-
adb_export_scan_rthd_num
adbgetcstコマンド
次に示すコスト情報収集オプション
-
adb_getcst_scan_rthd_num
adbidxrebuildコマンド
次に示すインデクス再作成オプション
-
adb_idxrebuild_scan_rthd_num
-
adb_idxrebuild_sort_rthd_num
-
adb_idxrebuild_dividx_rthd_num
adbimportコマンド
次に示すインポートオプション
-
adb_import_dataload_rthd_num
-
adb_import_sort_rthd_num
-
adb_import_dividx_rthd_num
adbmergechunkコマンド
次に示すマージチャンクオプション
-
adb_mergechunk_scan_rthd_num
-
adb_mergechunk_sort_rthd_num
-
adb_mergechunk_dividx_rthd_num
adbunarchivechunkコマンド
次に示すアンアーカイブチャンクオプション
-
adb_unarcv_dataload_rthd_num
-
adb_unarcv_sort_rthd_num
-
adb_unarcv_dividx_rthd_num
- 注意事項
-
adb_cmd_rthd_numオペランドを省略(0を指定した場合も含む)し,かつ上記のコマンドオプションも省略した場合,システムで使用できる処理リアルスレッド数を最大限使用するように自動計算されます。最初に実行したコマンドが処理リアルスレッド数を多く使用するため,ほかのコマンドを同時に実行すると,処理リアルスレッドの確保待ちが発生するおそれがあります。
上記のコマンドを同時に実行する場合は,処理リアルスレッドの確保待ちの発生を防ぐために,adb_cmd_rthd_numオペランドに1以上を指定してください。または,実行するコマンドのコマンドオプションを指定するようにしてください。
-
- ■adb_cmd_rthd_numオペランドの指定値の目安
-
-
例1
コマンドの同時実行数が少ない場合に,処理リアルスレッドを有効に使いたいときは,次の計算式で求めた値を指定値の目安としてください。
↓{(A−B)÷C}×0.8↓
A:サーバ定義adb_sys_rthd_numオペランドの指定値
B:APの実行時に必要な処理リアルスレッド数
C:同時実行の期間が短いコマンドの同時実行数
上記の計算式で求めた値をadb_cmd_rthd_numオペランドに指定し,コマンドオプションの指定を省略した場合,コマンドの同時実行数が少ないときは,処理リアルスレッドを有効に使えます。ただし,コマンドの同時実行数が多いときは,処理リアルスレッドの確保待ちとなります。
(例)
サーバ定義adb_sys_rthd_numオペランドの指定値:40
APの実行時に必要な処理リアルスレッド数:10
同時実行の期間が短いコマンドの同時実行数:3
この場合,「↓{(40−10)÷3}×0.8↓=8」が指定値の目安となります。adb_cmd_rthd_numオペランドに8を指定すると,同時実行する3つのコマンドは,処理リアルスレッドを有効に使うことができます。ただし,コマンドの同時実行数が4以上になった場合,4つ目以降のコマンドは処理リアルスレッドの確保待ちが発生するおそれがあります。
- 参考
-
APの実行時に必要な処理リアルスレッド数については,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sql_exe_max_rthd_numオペランドの説明を参照してください。
-
例2
コマンドの同時実行時に,処理リアルスレッドの確保待ちの発生を防ぎたい場合は,次の計算式で求めた値を指定値の目安としてください。
↓(A−B)÷C↓
A:サーバ定義adb_sys_rthd_numオペランドの指定値
B:APの実行時に必要な処理リアルスレッド数
C:コマンドの最大同時実行数
上記の計算式で求めた値をadb_cmd_rthd_numオペランドに指定し,コマンドオプションの指定を省略した場合,コマンドの同時実行時に処理リアルスレッドの確保待ちが発生することを防げます。
(例)
サーバ定義adb_sys_rthd_numオペランドの指定値:40
APの実行時に必要な処理リアルスレッド数:10
同時実行するコマンドの最大数:5
この場合,「↓(40−10)÷5↓=6」が指定値の目安となります。adb_cmd_rthd_numオペランドに6を指定すると,5つのコマンドを同時実行した際,各コマンドが6個の処理リアルスレッドを使用します。
-
- ■adb_cmd_rthd_numオペランドの指定値の条件
-
次の条件を満たすように指定してください。
adb_cmd_rthd_numオペランドの指定値 ≦ ↓(adb_sys_rthd_numオペランドの値−2)÷2↓
上記の条件を満たさない場合,adb_cmd_rthd_numオペランドの指定値に「↓(adb_sys_rthd_numオペランドの値−2)÷2↓」が仮定されます。また,HADBサーバの開始時にKFAA40291-Wメッセージが出力されます。
- 注意事項
-
サーバ定義adb_sys_rthd_numオペランドの指定値が3以下の場合に,adb_cmd_rthd_numオペランドの指定を省略すると,adb_cmd_rthd_numオペランドに1が仮定されます。この場合,処理リアルスレッド数不足でエラーになるおそれがあります(KFAA40290-Eメッセージが出力されます)。
- ■adb_cmd_rthd_numオペランドの指定が不要なケース
-
次のようなケースでは,このオペランドの指定は不要です。
-
コマンドオプションで,コマンド実行時に使用する処理リアルスレッド数を指定する場合
-
複数のコマンドを同時実行した際,処理リアルスレッドの確保待ちが発生しても問題がない場合
-
-
(8) 統計情報に関するオペランド(set形式)
- [34] adb_sta_log_max_size = 統計ログファイルの最大容量
-
〜〈整数〉((1〜4))《4》(単位:ギガバイト)
統計ログファイル1つ当たりの最大容量をギガバイト単位で指定します。統計ログファイルは4つ作成されます。
通常は,このオペランドの指定は不要です。統計ログファイルの最大容量を小さくしたい場合に,このオペランドを指定してください。
なお,このオペランドで指定した統計ログファイルの最大容量は,統計ログファイルが切り替わったときに有効となります。そのため,このオペランドを指定しても,統計ログファイルの切り替えが発生するまでは,統計ログファイルの最大容量がこのオペランドの指定値と異なります。
- [35] adb_sta_log_path = 統計ログファイルの出力先ディレクトリ名
-
〜〈パス名〉((2〜510バイト))
統計ログファイルの出力先ディレクトリ名を絶対パスで指定します。
このオペランドで指定したディレクトリ下に,統計ログファイルが出力されます。
通常,このオペランドは指定不要です。このオペランドを省略した場合,統計ログファイルの出力先ディレクトリは,$ADBDIR/spoolになります。
$ADBDIR/spoolディレクトリ下以外に,統計ログファイルを出力したい場合に,このオペランドを指定してください。
このオペランドを指定する場合の注意事項を次に示します。
-
統計ログファイルだけを格納する専用のディレクトリを指定してください。
-
HADB管理者に,アクセス権限(読み取り権限,書き込み権限,および実行権限)が付与されたディレクトリを指定してください。
-
十分な空き容量が確保されているディスク上のディレクトリを指定してください。
通常,統計ログファイル1つ当たりの最大容量は4ギガバイトです。また,統計ログファイルは4つ作成されます。そのため,16ギガバイト以上の容量が必要です。
- 参考
-
統計ログファイル1つ当たりの最大容量は,サーバ定義adb_sta_log_max_sizeオペランドで変更できます。
-
統計ログファイルの出力先ディレクトリを変更した場合,変更前の統計ログファイルに格納されている統計情報を参照できなくなります。そのため,統計ログファイルの出力先ディレクトリを変更する前に,adbstatコマンドを実行して統計情報を出力しておいてください。
-
(9) マルチノード機能に関するオペランド(set形式)
- [36] adb_sys_multi_node_info = ノードのホスト名〔:ノードのポート番号〕,ノードのホスト名〔:ノードのポート番号〕〔,ノードのホスト名〔:ノードのポート番号〕〕…
-
〜〈文字列〉((1〜261バイト)) (ノードのホスト名〔:ノードのポート番号〕は4個まで指定できる)
マルチノード機能で使用する各ノードのHADBサーバ間通信で使用するHADBサーバのホスト名,およびポート番号を「ホスト名:ポート番号」の形式で指定します。このオペランドを指定することで,マルチノード機能が使用できます。
- 注意事項
-
HADBサーバ間で使用するネットワークと,HAモニタの監視パスのネットワークは,必ず共通のネットワークを使用してください。詳細については,「14.2.3(2) ノード間ネットワーク」を参照してください。
このオペランドには,必ず自ノード(このサーバ定義を指定して開始するHADBサーバ)のホスト名,およびポート番号も指定してください。
また,マルチノード機能で使用する全ノードに対して,このオペランドには同じ値を指定してください。その際,指定順も同じにしてください。
なお,HADBサーバ間通信で使用するポート番号は省略できます。指定を省略した場合は,23651が仮定されます。
マルチノード機能については,「14. マルチノード機能の運用」を参照してください。
- [37] adb_sys_node_start_wait_time = 他ノードの起動完了待ち時間の上限
-
〜〈整数〉((1〜7,200))《300》(単位:秒)
マルチノード機能を使用する場合で,各ノードの起動が完了するまでの待ち時間の上限を,秒単位で指定します。
このオペランドには,基本的にデフォルト値を指定してください。
(10) グローバルバッファに関するオペランドおよびオプション(コマンド形式)
- [38] adbbuff
-
データ用DBエリアに割り当てるグローバルバッファの内容を定義します。このオペランドは,複数指定できます。
このオペランドを指定する場合,次に示す2つの変数の合計値が,「6.3 HADBサーバのメモリ所要量の見積もり」で求めたHADBサーバが使用するメモリの最大サイズの3割〜4割程度の値となるよう,見積もってください。
-
「6.3.3(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」の変数SHM_BUFGLOBAL
-
「6.3.3(3)(c) 変数BUFGLOBALの求め方」の変数BUFGLOBAL
なお,マスタディレクトリ用DBエリア,ディクショナリ用DBエリア,システム表用DBエリアおよび作業表用DBエリアには,自動的にグローバルバッファが割り当てられるため,このオペランドで定義する必要はありません。
また,このオペランドで割り当てたグローバルバッファの内容については,adbls -d gbufコマンドで確認できます。adbls -d gbufコマンドについては,マニュアル「HADB コマンドリファレンス」の「adbls -d gbuf(グローバルバッファの情報表示)」を参照してください。
- 参考
-
作業表用DBエリアに割り当てられるバッファには,グローバル作業表用のグローバルバッファ,およびローカル作業表用バッファがあります。指定方法を次に示します。
-
グローバル作業表用のグローバルバッファの指定方法
「7.6.2(2) 性能に関するオペランド(set形式)」のサーバ定義adb_dbbuff_wrktbl_glb_blk_numオペランドで,グローバル作業表用のグローバルバッファのページ数を指定できます。グローバル作業表用のグローバルバッファ名は,ADBWRKになります。
-
ローカル作業表用バッファの指定方法
「7.6.2(2) 性能に関するオペランド(set形式)」のサーバ定義adb_dbbuff_wrktbl_clt_blk_numオペランドで,ローカル作業表用バッファのページ数を指定できます。
また,クライアント定義adb_dbbuff_wrktbl_clt_blk_numオペランド,およびエクスポートオプションadb_export_wrktbl_blk_numでも,ローカル作業表用バッファのページ数を指定できます。
クライアント定義adb_dbbuff_wrktbl_clt_blk_numオペランドについては,マニュアル「HADB AP開発ガイド」の「HADBクライアントの環境設定」の「クライアント定義の作成」の「クライアント定義のオペランドの説明」を参照してください。エクスポートオプションadb_export_wrktbl_blk_numについては,マニュアル「HADB コマンドリファレンス」の「adbexport(データのエクスポート)」の「adbexportコマンドの指定形式」の「エクスポートオプションの形式」を参照してください。
-
-
- -g グローバルバッファ名
-
〜〈グローバルバッファ名〉((1〜30バイト))
HADBサーバ内で一意なグローバルバッファ名を指定します。
グローバルバッファ名の名称規則を次に示します。
-
指定できる文字は,半角数字,半角英大文字,半角英小文字,半角カタカナ文字,半角空白,半角下線(_),および半角ハイフン(-)になります。また,全角文字も指定できます。ただし,全角空白は指定できません。
-
半角文字と全角文字を混在させて指定できます。
-
半角英大文字および半角英小文字は,常に区別して扱われます。
-
先頭の文字には,半角英大文字,半角英小文字,半角カタカナ大文字(ア〜ン,ヲ)を指定してください。または,全角文字を指定してください。
-
最後の文字に,半角空白は指定できません。
-
半角空白と半角ハイフン(-)を含む場合は,まず,\"(バックスラッシュと二重引用符)でグローバルバッファ名を囲んでください。次に,それらを"(二重引用符)で囲んでください。
指定例
adbbuff -g "\"Sample Buffer01\"" -n AREA01 -p 1024 adbbuff -g "\"Sample-Buffer02\"" -n AREA02 -p 1024
なお,このオプションに指定するグローバルバッファ名には,「##ADBOTHER」を含む名称を指定しないでください。「##ADBOTHER」を含む名称は,自動的にグローバルバッファを割り当てるときにHADBサーバが使用することがあります。そのため,「##ADBOTHER」を含む名称を指定した場合,グローバルバッファ名で区別できなくなるおそれがあります。
-
- ポイント
-
- ■グローバルバッファの割り当て方法(-nオプション,-oオプション)の使い分け
-
グローバルバッファを割り当てるDBエリアを指定する場合,通常は-nオプションで指定してください。-nオプションで指定していないすべてのDBエリアに一括でグローバルバッファを割り当てたい場合,-oオプションを指定してください。
- -n DBエリア名〔,DBエリア名〕…
-
〜〈文字列〉((1〜30バイト))
グローバルバッファを割り当てるDBエリア名を指定します。
DBエリア名の名称規則については,マニュアル「HADB SQLリファレンス」の「名前の指定」を参照してください。
このオプションを指定するときの注意事項を次に示します。
-
DBエリア名を複数指定する場合
このオプションにDBエリア名を複数指定した場合,1つのグローバルバッファに複数のDBエリアを割り当てられます。DBエリア名を複数指定する場合,ページサイズが同じDBエリアだけを指定してください。ページサイズが異なるDBエリアを指定した場合,エラーとなります。
-
ディクショナリ用DBエリアを指定する場合
ディクショナリ用DBエリアにグローバルバッファを割り当てるようメッセージが出力された場合には,このオプションにADBDICだけを指定したadbbuffオペランドを新たに定義してください。通常は,このオプションにディクショナリ用DBエリアを指定する必要はありません。
-
システム表用DBエリアを指定する場合
システム表用DBエリアにグローバルバッファを割り当てるようメッセージが出力された場合には,このオプションにADBSTBLだけを指定したadbbuffオペランドを新たに定義してください。通常は,このオプションにシステム表用DBエリアを指定する必要はありません。
なお,-nオプションでグローバルバッファを割り当てなかったDBエリアについては,自動的に-oオプションを指定したときと,同様のグローバルバッファが割り当てられます。このとき-gオプションには,「##ADBOTHER」が指定されます。
-
- -o
-
-nオプションで指定していないすべてのDBエリアにグローバルバッファを割り当てます。
このオプションを指定したadbbuffオペランドは1つだけ定義できます。
このオプションを指定した場合,同じページサイズのDBエリアごとにまとめられて,それぞれに1つのグローバルバッファが割り当てられます。各グローバルバッファ名は,「-g グローバルバッファ名」+「#nnnnnnnnnn」(nはページサイズを10桁の10進数で表現したもの)になります。例を次に示します。
- 例(-gオプションにSAMPLEBUFを指定し,ページサイズが4キロバイトの場合)
-g SAMPLEBUF#0000004096
なお,-nオプションですべてのDBエリアにグローバルバッファを割り当てた場合,このオプションを指定しても無視されます。
- -p グローバルバッファのページ数
-
〜〈整数〉((0〜2,147,483,647))《0》
DBエリアに割り当てるグローバルバッファのページ数を指定します。
このオプションを省略した場合,またはこのオプションに0を指定した場合は,次に示す計算式で求めた値が仮定されます。
- 計算式
-
- -a レンジインデクス専用のグローバルバッファのページ数
-
〜〈整数〉((0〜2,147,483,647))
このオプションは,レンジインデクスに関するオプションです。
レンジインデクス専用のグローバルバッファのページ数を指定します。
次に示す計算式から求めた値を指定することを推奨します。なお,マルチチャンク表の場合は,チャンクごとに次に示す計算式で値を求めてください。そして,求めた値を合計した値をこのオプションに指定してください。
計算式
- rngidx_num
-
このadbbuffオペランドに指定したDBエリアに格納されるレンジインデクス数
- SGRI(i)
-
「5.8.6(1) 変数SGRIの求め方」を参照してください。
- SEGSIZE(i)
-
各レンジインデクスが格納されるDBエリアのセグメントサイズ(単位:ページ数)
次に示す計算式で求めてください。
- page_size(i)
-
各レンジインデクスが格納されるDBエリアのページサイズ(単位:バイト)
- SAUSEDPAGENUM(i)
-
各レンジインデクスが使用しているページ数(単位:ページ)
次に示す計算式で求めてください。
- PTNUM(i)
-
各レンジインデクスが管理しているポインタの数(単位:個)
次に示す計算式で求めてください。
- tbl_dbareafile_num(i)
-
各レンジインデクスを定義した表が格納されたDBエリアファイルの数(単位:個)
- tbl_dbarea_initsize(i)
-
各レンジインデクスを定義した表が格納されたDBエリアの初期確保サイズ(単位:ギガバイト)
対象のDBエリアに対して,次に示すコマンドを実行したときに,初期確保サイズのオプションに指定した値を代入してください。
-
adbinitコマンドの初期設定オプションadbinitdbareaの-iオプションに指定した値
-
adbmodareaコマンドのDBエリア追加・変更オプションadbaddareaの-iオプションに指定した値
-
adbmodareaコマンドのDBエリア追加・変更オプションadbexpandareaの-iオプションに指定した値
- 参考
-
-
adbinitコマンドの初期設定オプションについては,マニュアル「HADB コマンドリファレンス」の「adbinit(データベースの初期設定)」の「adbinitコマンドの指定形式」の「初期設定オプションの形式」を参照してください。
-
adbmodareaコマンドのDBエリア追加・変更オプションについては,マニュアル「HADB コマンドリファレンス」の「adbmodarea(DBエリアの追加・変更)」の「adbmodareaコマンドの指定形式」の「DBエリア追加・変更オプションの形式」を参照してください。
-
-
- 留意事項を次に示します。
-
-
-aオプションのグローバルバッファのページは,-pオプションのグローバルバッファのページとは別に確保されます。
-
-aオプションを指定した場合,レンジインデクスは-pオプションで指定したグローバルバッファのページを使用しません。
-
-aオプションを省略した場合,レンジインデクスは-pオプションで指定したグローバルバッファのページを使用します。
-
- -k セグメントを一括読み込みするためのテーブルスキャンバッファのバッファ面数
-
〜〈整数〉((1〜20,000,000))
テーブルスキャン実行時に,セグメントを一括読み込みするためのテーブルスキャンバッファのバッファ面数を指定します。テーブルスキャンバッファの1面のサイズは,セグメントサイズと同じ4メガバイトです。
テーブルスキャンバッファは,テーブルスキャンの処理速度を向上させるためのバッファです。テーブルスキャンバッファに,データベース上の複数のページをセグメント単位に一括読み込みすると,I/O回数を削減できます。これによって,処理速度が向上する可能性があります。
HADBサーバは,セグメント単位で読み込んだテーブルスキャンバッファ上のページに対して,グローバルバッファと同様にページ単位でアクセスします。
このオプションを指定すると,テーブルスキャンバッファを確保します。そのため,テーブルスキャン実行時にグローバルバッファではなく,テーブルスキャンバッファを使用します。テーブルスキャンバッファを使用すると,次のSQL文の実行速度が向上する可能性があります。
-
単純なテーブルスキャンとなるSQL文
-
最も外側の問合せ指定がテーブルスキャンとなるようなSQL文
このオプションを指定する場合,次に示す2つの計算式から求めた「最小バッファ面数」以上,「最大バッファ面数」以内の値を指定してください。
- 計算式(-kオプションの指定値)
-
また,このオプションを指定する場合,次に示す計算式を満たすようにサーバ定義を指定することを推奨します。左辺と右辺の値が,できるだけ同じ値に近づくよう調整してください。
計算式
なお,テーブルスキャン実行時に確保したテーブルスキャンバッファが不足した場合は,グローバルバッファが使用されます。テーブルスキャンバッファが十分に確保されているかどうかについては,adbstatコマンドで確認できます。詳細については,「11.2.4 テーブルスキャンを実行するSQL文の実行時間を短縮する方法」を参照してください。
また,テーブルスキャンについては,マニュアル「HADB AP開発ガイド」の「APの性能向上に関する設計」の「表の検索方式」を参照してください。
-
(11) クライアントグループ機能に関するオペランドおよびオプション(コマンド形式)
クライアントグループ機能に関するオペランドおよびオプションの内容について説明します。
クライアントグループ機能では,次に示すグループを設定できます。
-
クライアントグループ
-
コマンドグループ
各グループを設定する際には,サーバ定義adbcltgrpオペランドを指定します。クライアントグループを設定したadbcltgrpオペランドは複数指定できます。ただし,コマンドグループを設定したadbcltgrpオペランドについては,1つだけ指定できます。
- ポイント
-
adbcltgrpオペランドで設定したグループについては,adbls -d cltgrpコマンドで確認できます。adbls -d cltgrpコマンドについては,マニュアル「HADB コマンドリファレンス」の「adbls -d cltgrp(クライアントグループ・コマンドグループの情報表示)」を参照してください。
adbcltgrpオペランドの指定数の上限値は,次に示す計算式で求めた値になります。
計算式(単位:個)
|
|
- [マルチノード機能]
-
マルチノード機能を使用する場合,全ノードに対して,このオペランドには同じ値を指定してください。ただし,-rオプションおよび-eオプションは,ノードごとに異なる値を指定できます。ノードごとに異なる値を指定する場合は,サーバ定義adb_sys_rthd_numオペランドの指定値に従って,-rオプションおよび-eオプションの指定値を決定してください。
- 参考
-
-
クライアントグループおよびコマンドグループについては,「2.10.1 クライアントグループ機能の概要」を参照してください。
-
サーバ定義adb_sys_max_usersオペランドについては,「7.6.2(1) システム構成に関するオペランド(set形式)」のadb_sys_max_usersオペランドを参照してください。
-
サーバ定義adb_sys_rthd_numオペランドについては,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sys_rthd_numオペランドを参照してください。
-
ここでは,設定するグループごとに,サーバ定義adbcltgrpオペランドおよびオプションの内容を説明します。
- [39]adbcltgrp(クライアントグループを設定する場合)
-
クライアントグループを設定します。クライアントグループを設定することで,グループに所属するHADBクライアントが使用する接続数や処理リアルスレッド数を指定できます。
- -g クライアントグループ名
-
〜〈文字列〉((1〜30バイト))
HADBサーバ内で一意なクライアントグループ名を指定します。
指定できる文字は,半角数字,半角英大文字,半角英小文字,または半角下線(_)になります。なお,先頭の文字には,半角英大文字,半角英小文字,または半角下線(_)のどれかを指定してください。
このオプションで指定したクライアントグループ名は,クライアント定義adb_clt_group_nameオペランドに指定する必要があります。
- 参考
-
クライアント定義adb_clt_group_nameオペランドについては,マニュアル「HADB AP開発ガイド」の「HADBクライアントの環境設定」の「クライアント定義の作成」の「クライアント定義のオペランドの説明」を参照してください。
- -m 設定したクライアントグループの最大同時接続数
-
〜〈整数〉((0〜1,024))《adb_sys_max_usersの指定値−ほかのadbcltgrpの-uオプションの指定値の合計》
設定したクライアントグループの最大同時接続数を指定します。
このオプションに指定した値が,設定したグループで使用できる接続数の上限になります。指定値を超えて,設定したグループが接続することはありません。
このオプションを省略した場合,次に示す計算式で求めた値が仮定されます。
計算式
また,このオプションの指定値が,上記の計算式で求めた値より大きい場合も,上記の計算式で求めた値が仮定されます。
サーバ定義adb_sys_max_usersオペランドについては,「7.6.2(1) システム構成に関するオペランド(set形式)」のadb_sys_max_usersオペランドを参照してください。
- 注意事項
-
このオプションに0を指定した場合,対象のグループに所属するHADBクライアントは,HADBサーバに接続できません。
- -u 設定したクライアントグループの接続保証数
-
〜〈整数〉((0〜1,024))《0》
設定したクライアントグループの接続保証数を指定します。
このオプションの指定値に従って,対象のグループが最低限使用する接続数を常に確保します。そのため,自グループ以外のHADBクライアントやコマンドの接続状況に影響されることなく,指定した分だけ常に接続できます。
このオプションには,-mオプションの指定値以下の値を指定してください。また,次の計算式を満たす値を指定してください(これらの条件を満たさない値を指定すると,HADBサーバの開始時にエラーとなります)。
計算式
サーバ定義adb_sys_max_usersオペランドについては,「7.6.2(1) システム構成に関するオペランド(set形式)」のadb_sys_max_usersオペランドを参照してください。
- 注意事項
-
「すべてのサーバ定義adbcltgrpオペランドの-uオプションの指定値を合計した値」が,「サーバ定義adb_sys_max_usersオペランドの指定値」と同じである場合,次のどちらかに該当するHADBクライアントは,HADBサーバに接続できません。
-
対象のHADBクライアントが,サーバ定義adbcltgrpオペランドの-uオプションに0を指定しているグループに所属しているとき
-
対象のHADBクライアントが,グループに所属していないとき
-
- -r 設定したクライアントグループで使用できる処理リアルスレッドの最大数
-
〜〈整数〉((0〜4,096))《adb_sys_rthd_numの指定値−ほかのadbcltgrpの-eオプションの指定値の合計》
設定したクライアントグループで使用できる処理リアルスレッドの最大数を指定します。
このオプションに指定した値が,設定したグループで使用できる処理リアルスレッド数の上限になります。指定値を超えて,設定したグループが処理リアルスレッドを使用することはありません。
このオプションを省略した場合,次に示す計算式で求めた値が仮定されます。
計算式
また,このオプションの指定値が,上記の計算式で求めた値より大きい場合も,上記の計算式で求めた値が仮定されます。
サーバ定義adb_sys_rthd_numオペランドについては,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sys_rthd_numオペランドを参照してください。
- 注意事項
-
このオプションに0を指定した場合,対象のグループに所属するHADBクライアントに適用されるadb_sql_exe_max_rthd_numオペランドには,0が仮定されます。そのため,対象のHADBクライアントは,常にコネクションスレッドだけでSQL文を実行します。
サーバ定義adb_sql_exe_max_rthd_numオペランドについては,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sql_exe_max_rthd_numオペランドを参照してください。
クライアント定義adb_sql_exe_max_rthd_numオペランドについては,マニュアル「HADB AP開発ガイド」の「HADBクライアントの環境設定」の「クライアント定義の作成」の「クライアント定義のオペランドの説明」を参照してください。
- -e 設定したクライアントグループで使用できる処理リアルスレッドの保証数
-
〜〈整数〉((0〜4,096))《0》
設定したクライアントグループで使用できる処理リアルスレッドの保証数を指定します。
このオプションの指定値に従って,対象のグループが最低限使用する処理リアルスレッド数を常に確保します。そのため,自グループ以外のHADBクライアントやコマンドの使用状況に影響されることなく,指定した分だけ常に処理リアルスレッドを使用できます。
このオプションには,-rオプションの指定値以下の値を指定してください。また,次の計算式を満たす値を指定してください(これらの条件を満たさない値を指定すると,HADBサーバの開始時にエラーとなります)。
計算式
サーバ定義adb_sys_rthd_numオペランドについては,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sys_rthd_numオペランドを参照してください。
- 注意事項
-
「すべてのサーバ定義adbcltgrpオペランドの-eオプションの指定値を合計した値」が,「サーバ定義adb_sys_rthd_numオペランドの指定値」と同じである場合,次のどちらかに該当するHADBクライアントは,adb_sql_exe_max_rthd_numオペランドに0が仮定されます。
-
対象のHADBクライアントが,サーバ定義adbcltgrpオペランドの-eオプションに0を指定しているグループに所属しているとき
-
対象のHADBクライアントが,グループに所属していないとき
この場合,対象のHADBクライアントは,常にコネクションスレッドだけでSQL文を実行します。
サーバ定義adb_sql_exe_max_rthd_numオペランドについては,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sql_exe_max_rthd_numオペランドを参照してください。
クライアント定義adb_sql_exe_max_rthd_numオペランドについては,マニュアル「HADB AP開発ガイド」の「HADBクライアントの環境設定」の「クライアント定義の作成」の「クライアント定義のオペランドの説明」を参照してください。
-
- [40]adbcltgrp(コマンドグループを設定する場合)
-
コマンドグループを設定します。コマンドグループを設定することで,グループに所属するコマンドが使用する接続数や処理リアルスレッド数を指定できます。コマンドグループを設定する場合は,このオペランドは1つだけ指定できます。
- -g command
-
コマンドグループを設定します。
このオプションを指定したadbcltgrpオペランドを指定すると,「HADBサーバに接続するコマンド」は,コマンドグループに所属することになります。HADBサーバに接続するコマンドについては,マニュアル「HADB コマンドリファレンス」の「コマンドの一覧」を参照してください。
- 参考
-
コマンドグループには,「HADBサーバに接続するコマンド」だけでなく,HADBクライアントも所属できます。コマンドグループにHADBクライアントを所属させたい場合は,クライアント定義adb_clt_group_nameオペランドに「command」を指定してください。
クライアント定義adb_clt_group_nameオペランドについては,マニュアル「HADB AP開発ガイド」の「HADBクライアントの環境設定」の「クライアント定義の作成」の「クライアント定義のオペランドの説明」を参照してください。
- -m 設定したコマンドグループの最大同時接続数
-
〜〈整数〉((0〜1,024))《adb_sys_max_usersの指定値−ほかのadbcltgrpの-uオプションの指定値の合計》
設定したコマンドグループの最大同時接続数を指定します。
このオプションに指定した値が,設定したグループで使用できる接続数の上限になります。指定値を超えて,設定したグループが接続することはありません。
このオプションを省略した場合,次に示す計算式で求めた値が仮定されます。
計算式
また,このオプションの指定値が,上記の計算式で求めた値より大きい場合も,上記の計算式で求めた値が仮定されます。
サーバ定義adb_sys_max_usersオペランドについては,「7.6.2(1) システム構成に関するオペランド(set形式)」のadb_sys_max_usersオペランドを参照してください。
- 注意事項
-
このオプションに0を指定した場合,グループに所属するコマンドは,HADBサーバに接続できません。
- -u 設定したコマンドグループの接続保証数
-
〜〈整数〉((0〜1,024))《0》
設定したコマンドグループの接続保証数を指定します。
このオプションの指定値に従って,コマンドグループが最低限使用する接続数を常に確保します。そのため,自グループ以外のHADBクライアントやコマンドの接続状況に影響されることなく,指定した分だけ常に接続できます。
このオプションには,-mオプションの指定値以下の値を指定してください。また,次の計算式を満たす値を指定してください(これらの条件を満たさない値を指定すると,HADBサーバの開始時にエラーとなります)。
サーバ定義adb_sys_max_usersオペランドについては,「7.6.2(1) システム構成に関するオペランド(set形式)」のadb_sys_max_usersオペランドを参照してください。
- 注意事項
-
「すべてのサーバ定義adbcltgrpオペランドの-uオプションの指定値を合計した値」が,「サーバ定義adb_sys_max_usersオペランドの指定値」と同じである場合,次のどちらかに該当するコマンドは,HADBサーバに接続できません。
-
対象のコマンドが,サーバ定義adbcltgrpオペランドの-uオプションに0を指定しているグループに所属しているとき
-
対象のコマンドが,グループに所属していないとき
-
- -r 設定したコマンドグループで使用できる処理リアルスレッドの最大数
-
〜〈整数〉((0〜4,096))《adb_sys_rthd_numの指定値−ほかのadbcltgrpの-eオプションの指定値の合計》
設定したコマンドグループで使用できる処理リアルスレッドの最大数を指定します。
このオプションに指定した値が,設定したグループで使用できる処理リアルスレッド数の上限になります。指定値を超えて,設定したグループが処理リアルスレッドを使用することはありません。
このオプションを省略した場合,次に示す計算式で求めた値が仮定されます。
計算式
また,このオプションの指定値が,上記の計算式で求めた値より大きい場合も,上記の計算式で求めた値が仮定されます。
サーバ定義adb_sys_rthd_numオペランドについては,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sys_rthd_numオペランドを参照してください。
なお,コマンドグループを設定する場合で,かつ「6.14 コマンドが使用する処理リアルスレッドの最大数の見積もり」にある「対象のコマンド」を実行する場合は,対象のコマンドが使用する処理リアルスレッドの最大数を求めてください。そして,求めた値以上の値を,このオプションに指定してください。計算式で求めた値以上の値を指定しないと,対象のコマンドを実行してもエラーとなるおそれがあります。
- 注意事項
-
このオプションに0を指定した場合,コマンドグループに所属するコマンドに適用されるadb_sys_rthd_numオペランドには,0が仮定されます。そのため,対象のコマンドを実行すると,処理リアルスレッド数が不足して,エラーとなります。
- -e 設定したコマンドグループで使用できる処理リアルスレッドの保証数
-
〜〈整数〉((0〜4,096))《0》
設定したコマンドグループで使用できる処理リアルスレッドの保証数を指定します。
このオプションの指定値に従って,対象のグループが最低限使用する処理リアルスレッド数を常に確保します。そのため,自グループ以外のHADBクライアントやコマンドの使用状況に影響されることなく,指定した分だけ常に処理リアルスレッドを使用できます。
このオプションには,-rオプションの指定値以下の値を指定してください。また,次の計算式を満たす値を指定してください(これらの条件を満たさない値を指定すると,HADBサーバの開始時にエラーとなります)。
計算式
サーバ定義adb_sys_rthd_numオペランドについては,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sys_rthd_numオペランドを参照してください。
- 注意事項
-
「すべてのサーバ定義adbcltgrpオペランドの-eオプションの指定値を合計した値」が,「サーバ定義adb_sys_rthd_numオペランドの指定値」と同じである場合,次のどちらかに該当するコマンドは,adb_sys_rthd_numオペランドに0が仮定されます。
-
対象のコマンドが,サーバ定義adbcltgrpオペランドの-eオプションに0を指定しているグループに所属しているとき
-
対象のコマンドが,グループに所属していないとき
そのため,対象のコマンドを実行すると,処理リアルスレッド数が不足して,エラーとなります。
-