Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


6.3.3 HADBサーバ開始時のメモリ所要量の求め方

adbstartコマンドでHADBサーバを開始する場合,HADBサーバは次に示すメモリを使用します。各メモリの所要量を求めてください。

■共有メモリ
  • 共有メモリ管理

  • グローバルバッファページ

  • プロセス共通メモリ

  • リアルスレッド固有メモリ

■プロセスメモリ
  • ヒープメモリ

それぞれのメモリ所要量の計算式を次に示します。

〈この項の構成〉

(1) 共有メモリ管理の所要量の求め方(HADBサーバ開始時)

HADBサーバ開始時の共有メモリ管理(SHMMAN)の所要量は,次に示す計算式から求めてください。

計算式(単位:キロバイト)

SHMMAN=
      104,000+968×(rthd_nummax_users+10+multi_numworker_num)
      +(2,885×max_users)+SHM_LSGBUF+SHM_LSLBUF

変数の説明

rthd_num

サーバ定義adb_sys_rthd_numオペランドの指定値

max_users

サーバ定義adb_sys_max_usersオペランドの指定値

multi_num

次に示す計算式から求めてください。

計算式

[図データ]

worker_num

サーバ定義adb_sys_multi_max_worker_nodesオペランドの指定値×2

SHM_LSGBUF

adbls -d gbufコマンドの表示内容が格納される共有メモリ

次に示す値を代入してください。

値(単位:キロバイト)

SHM_LSGBUF= 337
SHM_LSLBUF

adbls -d lbufコマンドの表示内容が格納される共有メモリ

次に示す値を代入してください。

値(単位:キロバイト)

SHM_LSLBUF= 33

(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)

HADBサーバ開始時のグローバルバッファページ(SHM_BUFGLOBAL)の所要量は,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

MSTPAGESマスタディレクトリ用DBエリアのページ

次に示す計算式から求めてください。

計算式(単位:バイト)

[図データ]

RTHNUM(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(a) 変数SCIの求め方」の変数RTHNUMを参照してください。

WRKPAGES作業表用DBエリアのページ

次に示す計算式から求めてください。

計算式(単位:バイト)
WRKPAGES= (wrk_page_num+1)×wrk_page_size
  • wrk_page_num

    サーバ定義adb_dbbuff_wrktbl_glb_blk_numオペランドの指定値

  • wrk_page_size

    表6‒3 DBエリアのページサイズ」の作業表用DBエリアのページサイズを参照して,バイト単位で求めてください。

Σ(BUFPAGESSCANPAGES指定したすべてのadbbuffオペランドについて,BUFPAGESSCANPAGESを計算した結果の合計値

この合計値には次に示すadbbuffオペランドも含まれます。

  • -oオプションを指定したadbbuffオペランド

  • -nオプションおよび-oオプションを指定しなかったadbbuffオペランド

それぞれの詳細について説明します。

-oオプションを指定したadbbuffオペランド

-oオプションを指定した場合,adbbuffオペランドの-nオプションに指定しなかったDBエリアはページサイズごとに分類されて自動的にadbbuffオペランドが定義されます。それを踏まえて,BUFPAGESを求めてください。例を次に示します。

例:次に示す4つのDBエリアを-nオプションで指定しなかった場合

■対象のDBエリア

  • ADBDICADBSTBLADBUTBL01ADBUTBL02(ページサイズ:4キロバイト)

  • ADBUTBL03(ページサイズ:32キロバイト)

■サーバ定義の指定例

adbbuff -g SAMPLEBUF -o -p 100

この場合,4つのDBエリアはページサイズごとに分類されて自動的に定義されます。-oオプションを指定したadbbuffオペランドに各オプション(-p-a)を指定した場合,オプションの指定値も自動的に定義されます。

■自動的に定義された例

adbbuff -g SAMPLEBUF#0000004096 -n ADBDIC, ADBSTBL, ADBUTBL01, ADBUTBL02 -p 100
adbbuff -g SAMPLEBUF#0000032768 -n ADBUTBL03 -p 100

注 下線部分は自動的に定義されたときに追加されたグローバルバッファ名です。

-nオプションおよび-oオプションを指定しなかったadbbuffオペランド

adbbuffオペランドの-nオプションに指定しなかったDBエリアがあり,-oオプションも指定しなかった場合,-oオプションを指定したときと同じように,DBエリアはページサイズごとに分類されて自動的にadbbuffオペランドが定義されます。それを踏まえて,BUFPAGESを求めてください。例を次に示します。

例:次に示す4つのDBエリアを-nオプションに指定しないで,-oオプションも指定しなかった場合

■対象のDBエリア

  • ADBDICADBSTBLADBUTBL01ADBUTBL02(ページサイズ:4キロバイト)

  • ADBUTBL03(ページサイズ:32キロバイト)

■サーバ定義の指定例

  • 指定なし

この場合,4つのDBエリアはページサイズごとに分類されて自動的に定義されます。-pオプションを省略した場合に仮定される値が定義されます。

■自動的に定義された例

adbbuff -g ##ADBOTHER#0000004096 -n ADBDIC, ADBSTBL, ADBUTBL01, ADBUTBL02
adbbuff -g ##ADBOTHER#0000032768 -n ADBUTBL03

注 下線部分は自動的に定義されたグローバルバッファ名です。

BUFPAGESページ領域

次に示す計算式から求めてください。

計算式(単位:バイト)
BUFPAGES= (GLBPAGESOPTTYPES)×page_size
GLBPAGES

サーバ定義adbbuffオペランドの各オプション(-p-a)の指定値の合計値

OPTTYPES

サーバ定義adbbuffオペランドの各オプション(-p-a)の指定数

すべてのオプションを省略した場合,OPTTYPESは1としてください。例えば,次に示す指定例の場合,-pおよび-aの2つのオプションが指定されているため,OPTTYPESは2となります。

指定例

adbbuff -g SAMPLEBUF -n ADBUTBL01 -p 10 -a 10
page_size

サーバ定義adbbuffオペランドの-nオプションに指定したDBエリアのページサイズ(単位:バイト)

表6‒3 DBエリアのページサイズ」のデータ用DBエリアのページサイズを参照して求めてください。

SCANPAGESテーブルスキャンページ

次に示す計算式から求めてください。ただし,サーバ定義adbbuffオペランドの-vオプション,および-kオプションを省略した場合,SCANPAGES0を代入してください。

計算式(単位:バイト)
SCANPAGESSCANBLOCKS × 4,194,304
SCANBLOCKS

テーブルスキャンバッファのブロック数

次に示す計算式から求めてください。

[図データ]

adbbuff_opt_v

サーバ定義adbbuffオペランドの-vオプションのテーブルスキャンバッファに使用するメモリサイズの指定値

サーバ定義adbbuffオペランドの-kオプションを指定した場合は次の計算式から求めてください。

adbbuffオペランドの-kオプションの指定値 × 4
page_size

サーバ定義adbbuffオペランドの-nオプションに指定したDBエリアのページサイズ(単位:バイト)

表6‒3 DBエリアのページサイズ」のデータ用DBエリアのページサイズを参照して求めてください。

表6‒3 DBエリアのページサイズ

項番

DBエリアの種類

ページサイズ(単位:バイト)

1

マスタディレクトリ用DBエリア

4,096

2

ディクショナリ用DBエリア

3

システム表用DBエリア

4

作業表用DBエリア

work_page_size÷32↑×32×1,024

work_page_sizeには次の値を指定してください。

サーバ定義にadb_dbarea_wrk_page_sizeオペランドを指定している場合

サーバ定義のadb_dbarea_wrk_page_sizeオペランドの指定値

サーバ定義にadb_dbarea_wrk_page_sizeオペランドを指定していない場合

adbinitコマンドの初期設定オプションのadb_init_wrk_page_sizeオペランドの指定値

5

データ用DBエリア

対象のDBエリアをadbinitコマンドで作成した場合

次に示す計算式から求めてください。

  初期設定オプションadbinitdbareaに指定した
  -pオプションの指定値×1,024
対象のDBエリアをadbmodareaコマンドで作成した場合

次に示す計算式から求めてください。

  DBエリア追加・変更オプションadbaddareaに指定した
  -pオプションの指定値×1,024
メモ

データベースを構築していれば,次に示すコマンドでDBエリアのページサイズを調べることもできます。

作業表用DBエリアの場合
  • adbls -d gbufコマンドで,グローバルバッファの情報を取得する

  • adbls -d lbufコマンドで,ローカル作業表用バッファの情報を取得する

データ用DBエリアの場合
  • adbdbstatus -d summary -c dbareaコマンドで,DBエリアのサマリ情報を取得する

  • adbls -d gbufコマンドで,グローバルバッファの情報を取得する

rthd_num

サーバ定義adb_sys_rthd_numオペランドの指定値

(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)

HADBサーバ開始時のプロセス共通メモリ(PROC_STARTSZ)の所要量は,次の計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

(a) 変数SCIの求め方

変数SCIは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

注※1

マルチノード機能を使用する場合に加算してください。

注※2

クライアントグループ機能を使用する場合に加算してください。

注※3

クライアント定義の集中管理機能を使用する場合に加算してください。

変数の説明

CONコネクション制御情報

次に示す計算式から求めてください。

計算式(単位:バイト)

[図データ]

max_users

サーバ定義adb_sys_max_usersオペランドの指定値

RTHリアルスレッド制御情報

次に示す計算式から求めてください。

計算式(単位:バイト)

[図データ]

RTHNUM総リアルスレッド数

計算式

[図データ]

注※

マルチノード機能を使用する場合に加算してください。

rthd_num

サーバ定義adb_sys_rthd_numオペランドの指定値

CTHNUMコネクションスレッド数

計算式

CTHNUM= 3+max_users
max_users

サーバ定義adb_sys_max_usersオペランドの指定値

MLTNUMマルチノード機能専用スレッド数

マルチノード機能を使用する場合に求めてください。

計算式

MLTNUMmulti_node_numworker_node_num×2+3
multi_node_num

サーバ定義adb_sys_multi_node_infoオペランドに指定したホスト名の数

worker_node_num

サーバ定義adb_sys_multi_max_worker_nodesオペランドの指定値

UTH擬似リアルスレッド制御情報

次に示す計算式から求めてください。

計算式(単位:バイト)

[図データ]

UTHNUM総擬似スレッド数

計算式

UTHNUM= 2+uthd_num

uthd_numサーバ定義adb_sys_uthd_numオペランドの指定値

RTHNUM

変数RTHの変数RTHNUMを参照してください。

TRNトランザクション管理情報

次に示す計算式から求めてください。

計算式(単位:バイト)

[図データ]

max_users

サーバ定義adb_sys_max_usersオペランドの指定値

DEF定義解析結果情報

次に示す計算式から求めてください。

計算式(単位:バイト)
DEF= 3,701+475×dbbuff_defnum

dbbuff_defnumサーバ定義に指定されたadbbuffオペランドの数

MLTマルチノード制御情報

マルチノード機能を使用する場合に求めてください。

計算式(単位:バイト)

MLT=23,024+(22,584+792×RTHNUM
               +(RNGPREREADINF×1,024+BUFDEFBUFINT+200+40×cltgrp_num)
                 ×(multi_node_numworker_node_num
注※

サーバ定義adb_sys_max_parallel_exec_numオペランドに1以上が指定された場合に加算してください。

RTHNUM

変数RTHの変数RTHNUMを参照してください。

RNGPREREADINF

(i) 変数RNGPREREADINFの求め方」を参照してください。

BUFDEF

(d) 変数BUFGLOBALの求め方」の変数BUFDEFを参照してください。

BUFINT

(d) 変数BUFGLOBALの求め方」の変数BUFINTを参照してください。

cltgrp_num

サーバ定義adbcltgrpオペランドに指定したクライアントグループの数

multi_node_num

サーバ定義adb_sys_multi_node_infoオペランドに指定したホスト名の数

worker_node_num

サーバ定義adb_sys_multi_max_worker_nodesオペランドの指定値

CGRクライアントグループ制御情報

クライアントグループ機能を使用する場合に求めてください。

計算式(単位:バイト)

[図データ]

cltgrp_num

サーバ定義adbcltgrpオペランドに指定したクライアントグループの数

CMIクライアント定義の集中管理情報

クライアント定義の集中管理機能を使用する場合に求めてください。

計算式(単位:バイト)

[図データ]

cltmng_num

クライアント管理定義ファイルに指定された,クライアント管理定義のadbclientmangオペランドの総数

authid_num

クライアント管理定義のadbclientmangオペランドに指定された,認可識別子の総数

(b) 変数RPCSの求め方

変数RPCSは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

CTHNUM

(a) 変数SCIの求め方」の変数CTHNUMを参照してください。

MLTNUM

(a) 変数SCIの求め方」の変数MLTNUMを参照してください。

ipv4_num

自ノードの有効なIPv4アドレスの数(単位:個)

(c) 変数DICSの求め方

変数DICSは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

DICStbldef_cache_size + 84
変数の説明

tbldef_cache_sizeサーバ定義adb_sql_tbldef_cache_sizeオペランドの指定値

(d) 変数BUFGLOBALの求め方

変数BUFGLOBALは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

注※

マルチノード機能を使用する場合に加算してください。

変数の説明

BUFDEFadbbuffオペランド解析

次に示す計算式から求めてください。

計算式(単位:バイト)

BUFDEF= 3,640+608×BUFOPE_NUM
BUFOPE_NUMサーバ定義adbbuffオペランドの定義数

この合計値には次に示すadbbuffオペランドも含まれます。

  • -oオプションを指定したadbbuffオペランド

  • -nオプションおよび-oオプションを指定しなかったadbbuffオペランド

それぞれの詳細について説明します。

-oオプションを指定したadbbuffオペランド

-oオプションを指定した場合,adbbuffオペランドの-nオプションに指定しなかったDBエリアはページサイズごとに分類されて自動的にadbbuffオペランドが定義されます。それを踏まえて,BUFOPE_NUMを求めてください。例を次に示します。

例:次に示す4つのDBエリアを-nオプションで指定しなかった場合

■対象のDBエリア

  • ADBDICADBSTBLADBUTBL01ADBUTBL02(ページサイズ:4キロバイト)

  • ADBUTBL03(ページサイズ:32キロバイト)

■サーバ定義の指定例

adbbuff -g SAMPLEBUF -o

この場合,4つのDBエリアはページサイズごとに分類されて自動的に定義されます。そのため,BUFOPE_NUMは2となります。

■自動的に定義された例

adbbuff -g SAMPLEBUF#0000004096 -n ADBDIC, ADBSTBL, ADBUTBL01, ADBUTBL02
adbbuff -g SAMPLEBUF#0000032768 -n ADBUTBL03

注 下線部分は自動的に定義されたときに追加されたグローバルバッファ名です。

-nオプションおよび-oオプションを指定しなかったadbbuffオペランド

adbbuffオペランドの-nオプションに指定しなかったDBエリアがあり,-oオプションも指定しなかった場合,-oオプションを指定したときと同じように,DBエリアはページサイズごとに分類されて自動的にadbbuffオペランドが定義されます。それを踏まえて,BUFOPE_NUMを求めてください。例を次に示します。

例:DBエリア(ADBDIC,ADBSTBL)を-nオプションに指定しないで,-oオプションも指定しなかった場合

■対象のDBエリア

  • ADBDICADBUTBL01ADBUTBL02(ページサイズ:4キロバイト)

  • ADBUTBL03(ページサイズ:32キロバイト)

■サーバ定義の指定例

adbbuff -g SAMPLEBUF01 -n ADBUTBL01, ADBUTBL02
adbbuff -g SAMPLEBUF02 -n ADBUTBL03

この場合,指定されていないADBDICおよびADBSTBLは自動的に定義されます。そのため,BUFOPE_NUMは指定した2つと合わせて4となります。

■自動的に定義された例

adbbuff -g ##ADBOTHER#0000004096 -n ADBDIC, ADBSTBL

注 下線部分は自動的に定義されたグローバルバッファ名です。

BUFCTLグローバルバッファ管理領域

次に示す計算式から求めてください。

計算式(単位:バイト)

[図データ]

ΣOPTTYPES:各adbbuffオペランドに指定したオプション(-p-a)の指定数の合計値

この合計値には次に示すadbbuffオペランドも含まれます。

  • -oオプションを指定したadbbuffオペランド

  • -nオプションおよび-oオプションを指定しなかったadbbuffオペランド

詳細については,「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」の変数Σ(BUFPAGESSCANPAGES)を参照してください。

オプションの指定数の求め方について,例を次に示します。

adbbuffオペランドを次に示すとおりに定義した場合,ADBDICおよびADBSTBLへの自動定義を含め,オプションの指定数は合計5(1+2+1+1)となります。

■サーバ定義の指定例

    adbbuff -g SAMPLEBUF1 -n ADBUTBL01 -p 100
    adbbuff -g SAMPLEBUF2 -n ADBUTBL02 -p 100 -a 100
    adbbuff -g SAMPLEBUF3 -n ADBUTBL03

注※ -pオプションが仮定されます。

■自動的に定義された例

adbbuff -g ##ADBOTHER#0000004096 -n ADBDIC, ADBSTBL

注 下線部分は自動的に定義されたグローバルバッファ名です。

注※ -pオプションが仮定されます。

DBAREA_NUM

DBエリアの総数

BUFOPT_V_NUM

-vオプション,または-kオプションが指定されているadbbuffオペランドの定義数

RTHNUM

(a) 変数SCIの求め方」の変数RTHNUMを参照してください。

BUFINT多重初期化用一時領域

次に示す計算式から求めてください。

計算式(単位:バイト)

BUFINT= 480+80×ΣBUFWRK_NUM+8×rthd_numINITQUE
rthd_num

サーバ定義adb_sys_rthd_numオペランドの指定値

INITQUE初期化処理待ちキュー

次に示す計算式から求めてください。

計算式(単位:バイト)

INITQUE= 80×RTHNUM×RTHNUM+632×RTHNUM+960+64×ΣBUFWRK_NUM

RTHNUM(a) 変数SCIの求め方」の変数RTHNUMを参照してください。

ΣBUFWRK_NUMadbbuffオペランドごとに計算した変数BUFWRK_NUMの合計値

この合計値には次に示すadbbuffオペランドも含まれます。

  • -oオプションを指定したadbbuffオペランド

  • -nオプションおよび-oオプションを指定しなかったadbbuffオペランド

詳細については,「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」の変数Σ(BUFPAGESSCANPAGES)を参照してください。

BUFWRK_NUM次に示す計算式から求めてください。

計算式(単位:個)

[図データ]

OPTTYPES

(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」の変数OPTTYPESを参照してください。

adbbuff_opt_p

adbbuffオペランドの-pオプションの指定値

adbbuff_opt_a

adbbuffオペランドの-aオプションの指定値

BUFOPT_Vadbbuffオペランドの-vオプション,または-kオプションの指定有無

-vオプション,または-kオプションが指定されている場合は1,それ以外の場合は0を代入してください。

SCAN_INITテーブルスキャンバッファのマルチ初期化用領域

adbbuffオペランドの-vオプション,または-kオプションが指定されている場合は,サーバ定義adb_sys_rthd_numオペランドの指定値を代入してください。-vオプション,および-kオプションが指定されていない場合は0を代入してください。

BUFPGEページ管理領域

次に示す計算式から求めてください。

計算式(単位:バイト)

BUFPGE= ΣTYPEBUFMSTBUFWRKBUF
ΣTYPEBUF:各adbbuffオペランドに指定したオプション(-p-a)ごとに求めた変数TYPEBUFの合計値

この合計値には次に示すadbbuffオペランドも含まれます。

  • -oオプションを指定したadbbuffオペランド

  • -nオプションおよび-oオプションを指定しなかったadbbuffオペランド

詳細については,「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」の変数Σ(BUFPAGESSCANPAGES)を参照してください。

TYPEBUF次に示す計算式から求めてください。

計算式(単位:バイト)

TYPEBUFGCLBUFpage_num)+BUFMEMpage_num
page_num

サーバ定義adbbuffオペランドに指定した各オプション(-p-a)のどれかの指定値

GCLBUF次に示す計算式から求めてください。

計算式(単位:バイト)

GCLBUF(X)= 192×RTHNUM+192+X×(176+BUFLOG
RTHNUM

(a) 変数SCIの求め方」の変数RTHNUMを参照してください。

X

対象となるページ数

BUFLOGログ領域

次に示す計算式から求めてください。

計算式(単位:バイト)

BUFLOG= ↓(((16+((RTHNUM−6)÷8+1))+15)÷16)↓×16
BUFMEM次に示す計算式から求めてください。

計算式(単位:バイト)

BUFMEM(X)=
    480×RTHNUM×RTHNUM+(584+24×UTHNUM)×RTHNUM
    +(352+16×RTHNUM)×HASHTBL_NUM+80×X+24×UTHNUM+368
RTHNUM

(a) 変数SCIの求め方」の変数RTHNUMを参照してください。

UTHNUM

(a) 変数SCIの求め方」の変数UTHNUMを参照してください。

X

対象となるページ数

HASHTBL_NUM次に示す計算式から求めてください。

計算式

HASHTBL_NUMX÷4
MSTBUF次に示す計算式から求めてください。

計算式(単位:バイト)

MSTBUFRTHNUM×2
RTHNUM

(a) 変数SCIの求め方」の変数RTHNUMを参照してください。

WRKBUF

サーバ定義adb_dbbuff_wrktbl_glb_blk_numオペランドの指定値

BUFTBLテーブルスキャンバッファ

次に示す計算式から求めてください。

計算式(単位:バイト)

BUFTBL= ΣSCANBUF
ΣSCANBUF:各adbbuffオペランドに指定したテーブルスキャン用一括読み込みバッファの数

adbbuffオペランドに指定した-vオプション,または-kオプションごとに計算した変数SCANBUFの合計値になります。

SCANBUF次に示す計算式から求めてください。

計算式(単位:バイト)

[図データ]

なお,-vオプション,および-kオプションを指定しなかったadbbuffオペランドについては,SCANBUFを0としてください。

BUFUPDLISTCTL

ノード間更新リスト管理領域

次に示す値を代入してください。

値(単位:バイト)

[図データ]

(e) 変数DBAREAINFの求め方

変数DBAREAINFは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明
dbarea_num

すべてのDBエリア数

dbarea_file_num

すべてのDBエリアファイル数

table_num

ユーザが定義した実表の総数

column_table_num

ユーザが定義したカラムストア表の実表の総数

index_num

ユーザが定義したインデクスの総数

SEGSIZE

DBエリアファイルを定義したDBエリアのセグメントサイズ(単位:ページ数)

次に示す計算式から求めてください。

SEGSIZE1セグメントの容量(単位:バイト)÷page_size
max_users

サーバ定義adb_sys_max_usersオペランドの指定値

rthd_num

サーバ定義adb_sys_rthd_numオペランドの指定値

(f) 変数DBSYSINFの求め方

変数DBSYSINFには,次に示す値を代入してください。

値(単位:キロバイト)
DBSYSINF= 1,308

(g) 変数RECCTLの求め方

変数RECCTLは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

log_usrbuf_numサーバ定義adb_log_usrbuf_numオペランドの指定値

log_usrfile_numサーバ定義adb_log_usrfile_numオペランドの指定値

max_usersサーバ定義adb_sys_max_usersオペランドの指定値

(h) 変数DBUPDINFMNGの求め方

変数DBUPDINFMNGには,次に示す値を代入してください。

なお,マルチノード機能を使用するかどうかで,値が異なります。

値(単位:キロバイト)

[図データ]

(i) 変数RNGPREREADINFの求め方

変数RNGPREREADINFは,次に示す計算式から求めてください。サーバ定義adb_sql_rngidx_prereadオペランドに指定した項目によって計算式が異なります。

なお,adb_sql_rngidx_prereadオペランドにNOを指定した場合は,変数RNGPREREADINFは0になります。

adb_sql_rngidx_prereadオペランドにALLを指定した場合

計算式(単位:キロバイト)

[図データ]

変数の説明

uthd_numサーバ定義adb_sys_uthd_numオペランドの指定値

adb_sql_rngidx_prereadオペランドにレンジインデクス名を指定した場合

計算式(単位:キロバイト)

[図データ]

変数の説明

preread_rng_numadb_sql_rngidx_prereadオペランドに指定したレンジインデクス名の数

uthd_numサーバ定義adb_sys_uthd_numオペランドの指定値

(j) 変数RNGPREREADHANDLEの求め方

変数RNGPREREADHANDLEは,次に示す値を代入してください。

値(単位:キロバイト)
RNGPREREADHANDLE= 1

(k) 変数MODAの求め方

変数MODAは,次に示す計算式から求めてください。

計算式(単位:キロバイト)
MODA= 9,216+↑wrk_page_size÷1,024↑

変数の説明

wrk_page_size

作業表用DBエリアのページサイズ(単位:バイト)

(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」にある「表6‒3 DBエリアのページサイズ」を参照して求めてください。

(l) 変数LSINFの求め方

変数LSINFは,次に示す値を代入してください。

値(単位:キロバイト)
LSINF= 1

(m) 変数DBHTRCの求め方

変数DBHTRCは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

RTHNUM

(a) 変数SCIの求め方」の変数RTHNUMを参照してください。

(n) 変数LSTCMNINFの求め方

変数LSTCMNINFは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

max_users

サーバ定義adb_sys_max_usersオペランドの指定値

(o) 変数LSTRTHDINFの求め方

変数LSTRTHDINFは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

RTHNUM

(a) 変数SCIの求め方」の変数RTHNUMを参照してください。

(p) 変数PROC_STAINFの求め方

変数PROC_STAINFは,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

変数の説明

max_users

サーバ定義adb_sys_max_usersオペランドの指定値

(q) 変数SYNDICTINFの求め方

変数SYNDICTINFは,次に示す値を代入してください。

値(単位:キロバイト)

[図データ]

(r) 変数AUDINFの求め方

変数AUDINFは,次に示す計算式から求めてください。監査証跡機能が有効な場合に加算してください。監査証跡機能を無効にすると,変数AUDINFで求めた値は解放されます。

計算式(単位:キロバイト)

AUDINF= 1+PROC_AUDINFSZ

変数の説明

PROC_AUDINFSZ監査証跡の情報

次に示す計算式から求めてください。

計算式(単位:キロバイト)

PROC_AUDINFSZ= 2+(↑sql_text_size÷1,024↑)※1
             +(↑PARAM_INFO_SIZE÷1,024↑)※2OBJECT_INFO_SIZE※3system_info_size
注※1

SQL文の実行時に加算してください。

注※2

?パラメタを含むSQL文の実行時に加算してください。

注※3

SQL文,またはコマンドの実行時に加算してください。

sql_text_size

SQLテキスト長(単位:バイト)

PARAM_INFO_SIZE

パラメタ格納領域(単位:バイト)

6.3.4 通常運用時のメモリ所要量の求め方」の「(2) リアルスレッド固有メモリの所要量の求め方(通常運用時)」の「(c) 変数RTHD_EXESQLSZの求め方」にある変数PARAM_INFO_SIZEを参照してください。

OBJECT_INFO_SIZE

オブジェクト情報(単位:キロバイト)

次に示す計算式から求めてください。

OBJECT_INFO_SIZE= 1×obj_num×user_num
obj_num

SQL文,またはコマンドに指定したオブジェクト数

GRANT文やREVOKE文にALL TABLESを指定した場合は,ALL TABLESの対象となる表数となります。

user_num

GRANT文やREVOKE文に指定した権限受領者数

権限受領者を指定しないSQL文やコマンドの場合は,1になります。

system_info_size

システム情報(単位:キロバイト)

HADBサーバ開始時のメモリ所要量を求める場合は,次の計算式で求めてください。

system_info_size = ↑サーバ定義ファイルのファイルサイズ÷1,024↑
注※

サーバ定義ファイルのファイルサイズの単位はバイトです。

HADBサーバ開始時以外のメモリ所要量を求める場合は,次のどちらかで求めてください。

  • adbclientdefmangコマンド実行時

    system_info_size = 2×↑クライアント管理定義ファイルのファイルサイズ÷1,024↑
    注※

    クライアント管理定義ファイルのファイルサイズの単位はバイトです。

  • adbclientdefmangコマンド実行時以外

    system_info_size = 0

(s) 変数CLMNZの求め方

変数CLMNZは,次に示す値を代入してください。

値(単位:キロバイト)
CLMNZ = 5,120+1

(4) リアルスレッド固有メモリの所要量の求め方(HADBサーバ開始時)

HADBサーバ開始時のリアルスレッド固有メモリ(RTHD_STARTSZ)の所要量は,次に示す計算式から求めてください。

計算式(単位:キロバイト)

[図データ]

注※1

HADBサーバのバージョンアップを実施するときに加算してください。

注※2

マルチノード機能を使用するときに加算してください。

注※3

監査証跡機能が有効なときに加算してください。

変数の説明

RTI

リアルスレッド管理情報

次に示す計算式で求めてください。

計算式(単位:キロバイト)

[図データ]

AIO

非同期I/O管理情報

次に示す計算式で求めてください。

計算式(単位:バイト)

AIO= 32×UTHNUM
UTHNUM

(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(a) 変数SCIの求め方」の変数UTHNUMを参照してください。

DBI

次に示す計算式で求めてください。

計算式(単位:バイト)

DBI= 336×UTHNUM
DICL

次に示す値を代入してください。

値(単位:キロバイト)

[図データ]

DICL2

次に示す値を代入してください。

値(単位:キロバイト)

[図データ]

RTHD_STAINF

統計情報の制御情報

次に示す計算式で求めてください。

計算式(単位:キロバイト)

[図データ]

tables

1トランザクション内で実行するSQL文に出現する表の延べ数の合計

max_sql_concurrent_exec_num

1トランザクション内で同時に実行するSQL文の数の最大値

MLTMNG

マルチノード機能管理情報

次に示す計算式で求めてください。

計算式(単位:キロバイト)

MLTMNG=
  ↑{2,120+↑(1,216×authid_num)÷4,096↑×4,096
     +(8,536+760×UTHNUM)×(multi_node_numworker_node_num)
     }÷1,024↑
authid_num

クライアント管理定義のadbclientmangオペランドに指定した認可識別子の総数

multi_node_num

サーバ定義adb_sys_multi_node_infoオペランドに指定したホスト名の数

worker_node_num

サーバ定義adb_sys_multi_max_worker_nodesオペランドの指定値

TRCMON

SQLトレース機能のモニタアウトスレッド管理情報

次に示す計算式で求めてください。

計算式(単位:キロバイト)

[図データ]

注※

SQLトレースバッファ拡張時に確保されるメモリです。

RTHD_EXPSQLTRCSZ

SQLトレースバッファの拡張時に使用するリアルスレッド固有メモリ

6.3.4 通常運用時のメモリ所要量の求め方」の「(2) リアルスレッド固有メモリの所要量の求め方(通常運用時)」の「(i) 変数RTHD_EXPSQLTRCSZの求め方」を参照して求めてください。

AUDTHDINF

監査証跡の管理情報

次に示す計算式で求めてください。監査証跡機能を無効にすると,変数AUDTHDINFで求めた値は解放されます。

計算式(単位:キロバイト)

AUDTHDINF=↑(272,631,408+CTHNUM×260,000)÷1,024↑
CTHNUM

(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(a) 変数SCIの求め方」の変数CTHNUMを参照してください。

(5) ヒープメモリの所要量の求め方(HADBサーバ開始時)

HADBサーバ開始時のヒープメモリ(HEAP_STARTSZ)の所要量は,次に示す計算式から求めてください。

計算式(単位:キロバイト)

HEAP_STARTSZ = 161 × UTHNUM × RTHNUM

変数の説明

UTHNUM

(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(a) 変数SCIの求め方」の変数UTHNUMを参照してください。

RTHNUM

(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(a) 変数SCIの求め方」の変数RTHNUMを参照してください。