Hitachi

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


6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方

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

なお,ここでの「処理対象表」とは,「システム表(実表)」のことです。

■共有メモリ
  • プロセス共通メモリ(PROC_REORGSZ

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

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

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

〈この項の構成〉

(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)

adbreorgsystemdataコマンド実行時のプロセス共通メモリ(PROC_REORGSZ)の所要量は,次に示す計算式から求めてください。

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

[図データ]

変数の説明

PROC_MNG

システム表の再編成の管理で使用するプロセス共通メモリ

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

PROC_IDX

B-treeインデクスを作成するときに使用するプロセス共通メモリ

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

PROC_IDXBUILD

B-treeインデクスを作成するときに使用するプロセス共通メモリ

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

PROC_DBUPDINF

DBエリア,表,インデクス,およびチャンク更新情報の格納で必要なプロセス共通メモリ

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

PROC_RTHDUPDINF

処理リアルスレッド更新情報

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

PROC_UNLOAD_BUFF

システム表の再編成時に使用するバッファ

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

(a) 変数PROC_MNGの求め方

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

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

[図データ]

注※

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

変数の説明

DIC

処理対象表の定義情報を取得するメモリ

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

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

[図データ]

col_num

処理対象表の列数

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

max_rowsz

最大行長

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

idx_num

処理対象表に定義されたインデクス数

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

表6‒15 システム表に対応する変数の値

項番

処理対象表名

変数col_numの値

変数var_col_numの値

変数max_rowszの値

変数Σ(DATASIZE)の値

変数idx_numの値

変数max_idx_col_numの値

変数max_keyszの値

1

STATUS_TABLES

12

2

318

1,556

1

2

203

2

STATUS_COLUMNS

11

6

32,588

257,088

1

3

304

3

STATUS_INDEXES

8

3

476

701

2

2

203

4

STATUS_CHUNKS

10

3

1,312

2,575

1

3

212

5

STATUS_SYNONYM_DICTIONARIES

10

6

2,108

4,152

1

1

121

IOA

データベースに格納するデータイメージを作成するためのメモリ

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

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

[図データ]

IOA_UNLOAD

アンロード処理で使用するメモリ

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

計算式

[図データ]

sql_size

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

[図データ]

scan_buff_size

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

[図データ]

offset_area

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

[図データ]

col_num

処理対象表の列数

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

Σ(DATASIZE

処理対象表にある各列のデータ型のデータを文字形式で表した場合の最大長の合計

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

scan_rthd

1を代入してください。

IOA_RELOAD

リロード処理で使用するメモリ

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

計算式

[図データ]

max_rowsz

最大行長

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

col_num

処理対象表の列数

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

idx_num

処理対象表に定義されたインデクス数

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

dba_num

1を代入してください。

load_rthd

1を代入してください。

LOD

リロード処理で必要となるメモリ

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

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

[図データ]

read_size

1,024を代入してください。

read_buff_num

3を代入してください。

load_rthd

1を代入してください。

input_edit_area

入力データの編集領域長

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

計算式

[図データ]

input_recsize

入力レコード長

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

計算式

[図データ]

Σ(DATASIZE

処理対象表にある各列のデータ型のデータを文字形式で表した場合の最大長の合計

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

col_num

処理対象表の列数

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

input_file_num

1,024を代入してください。

IMPORTBUF_CTL

システム表の再編成用バッファ制御情報

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

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

[図データ]

BUFBLK

6.3.4 通常運用時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(通常運用時)」の「(f) 変数PROC_UPDSZの求め方」の変数BUFBLKを参照してください。

load_rthd

1を代入してください。

STS

ステータス情報を退避するためのメモリ

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

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

[図データ]

idx_num

処理対象表に定義されたインデクスの数

表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

load_rthd

1を代入してください。

PAGEALLOC

リロード用ページ割り当て制御情報

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

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

[図データ]

dataload_rthd

1を代入してください。

dividx_rthd

1を代入してください。

EXPF

ファイル処理で使用するメモリ

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

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

[図データ]

exp_rthd

1を代入してください。

PROC_AUDINFSZ

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

(b) 変数PROC_IDXの求め方

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

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

[図データ]

変数の説明

idxf_buff_size

1,024を代入してください。

max_keysz

処理対象表に定義されたインデクスの中で,最大のインデクスキー長(単位:バイト)

6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)」の「(a) 変数PROC_MNGの求め方」の「表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

idx_num

処理対象表に定義されたインデクスの数

6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)」の「(a) 変数PROC_MNGの求め方」の「表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

load_rthd

1を代入してください。

cmd_d_opt

1を代入してください。

rd_buff_size

1,024を代入してください。

ld_buff_size

1,024を代入してください。

dividx_rthd

1を代入してください。

(c) 変数PROC_IDXBUILDの求め方

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

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

[図データ]

変数の説明

idx_num

処理対象表に定義されたインデクスの数

6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)」の「(a) 変数PROC_MNGの求め方」の「表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

PROC_IDXCREATE_MEM(k)

処理対象表に定義されたk番目のインデクスの一括作成に必要なメモリ

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

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

[図データ]

idx_col_num

インデクスのインデクス構成列の数

表6‒16 システム表のインデクスに対応する変数idx_col_numとKEYSZの値」を参照して,インデクス名に対応する値を代入してください。

idx_lv

インデクスの段数

5.8.3 B-treeインデクスのセグメントごとの格納ページ数の求め方」の「(2) 上位ページ用のセグメントで使用する格納ページ数(変数IP_UPPER(i))の求め方」の計算式1(PIDX(k)の求め方)の漸化式を計算して,PIDX(n)=1となったときのnの値を代入してください。

ただし,PIDX(1)=1の場合は,B-treeインデクスの段数は2としてください。

計算式を求める際,各変数には次の値を代入してください。

  • page_size

    4,096を代入してください。

  • pctfree

    0を代入してください。

  • dbarea_file_num

    1を代入してください。

dividx_rthd

1を代入してください。

KEYSZ

インデクスのキー長(単位:バイト)

表6‒16 システム表のインデクスに対応する変数idx_col_numとKEYSZの値」を参照して,インデクス名に対応する値を代入してください。

page_size

4,096を代入してください。

表6‒16 システム表のインデクスに対応する変数idx_col_numとKEYSZの値

項番

処理対象表名

インデクス名

変数idx_col_numの値

変数KEYSZの値

1

STATUS_TABLES

STATUSINDEXM01

2

203

2

STATUS_COLUMNS

STATUSINDEXM02

3

304

3

STATUS_INDEXES

STATUSINDEXM03

2

203

4

STATUSINDEXM04

2

203

5

STATUS_CHUNKS

STATUSINDEXM05

3

212

6

STATUS_SYNONYM_DICTIONARIES

STATUSINDEXS01

1

121

(d) 変数PROC_DBUPDINFの求め方

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

マルチノード機能を使用しない場合の計算式(単位:キロバイト)

[図データ]

マルチノード機能を使用する場合の計算式(単位:キロバイト)

[図データ]

変数の説明

DBUPDINF_ENT_NUM

DBエリア,表,インデクス,およびチャンク更新情報のエントリ数

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

マルチノード機能を使用しない場合

1を代入してください。

マルチノード機能を使用する場合

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

計算式(単位:個数)

[図データ]

idx_num

処理対象表に定義されたインデクスの数

(e) 変数PROC_RTHDUPDINFの求め方

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

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

[図データ]

変数の説明

rthd_num

1を代入してください。

(f) 変数PROC_UNLOAD_BUFFの求め方

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

値(単位:キロバイト)

[図データ]

(2) リアルスレッド固有メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)

adbreorgsystemdataコマンド実行時に使用するリアルスレッド固有メモリ(RTHD_REORGSZ)は,次に示す計算式から求めてください。

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

[図データ]

変数の説明

RTHD_UNLOADSZ

アンロード処理時にadbreorgsystemdataコマンドが使用するリアルスレッド固有メモリ

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

RTHD_RELOADSZ

リロード処理時にadbreorgsystemdataコマンドが使用するリアルスレッド固有メモリ

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

(a) 変数RTHD_UNLOADSZの求め方

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

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

[図データ]

変数の説明

uthd_num

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

SGTBL

処理対象表のセグメント数

次の表を参照して,処理対象表名に対応する値を求めてください。

表6‒17 システム表のセグメントサイズの見積もり

項番

処理対象表名

変数SGTBLの求め方

1

STATUS_TABLES

↑(STBLTABLESSIZE÷64)↑

2

STATUS_COLUMNS

↑(STBLCOLUMNSSIZE÷64)↑

3

STATUS_INDEXES

↑(STBLINDEXESSIZE÷64)↑

4

STATUS_CHUNKS

↑(STBLCHUNKSSIZE÷64)↑

5

STATUS_SYNONYM_DICTIONARIES

↑(STBLSYNONYMDICSIZE÷64)↑

変数STBLTABLESSIZESTBLCOLUMNSSIZESTBLINDEXESSIZESTBLCHUNKSSIZE,およびSTBLSYNONYMDICSIZEについては,「5.12 システム表用DBエリアの容量見積もり」を参照してください。

(b) 変数RTHD_RELOADSZの求め方

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

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

[図データ]

変数の説明

RELOADBUF

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

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

RELOADBUF= ↑(IMP_SQBLKIMP_SQIOIMP_SQPGEIMP_SQHS)÷1,024↑

IMP_SQBLK

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

計算式(単位:バイト)

IMP_SQBLKimp_blknum×(112+↑IMP_BLKSZ÷imp_pagesize÷64↑×24)

imp_blknum

64を代入してください。

IMP_BLKSZ

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

IMP_BLKSZ= 4,096×1,024

imp_pagesize

4,096を代入してください。

IMP_SQIO

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

計算式(単位:バイト)

IMP_SQIO568×imp_blknum

IMP_SQPGE

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

計算式(単位:バイト)

IMP_SQPGE= (176+imp_pagesizeBUFLOG)×(IMP_BLKSZ÷imp_pagesize)×imp_blknum

BUFLOG

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

IMP_SQHS

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

計算式(単位:バイト)

IMP_SQHS= (8×imp_blknum)+(40×imp_blknum

SORTIOBUF

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

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

SORTIOBUFsort_io_buff_size×sort_rthd

sort_io_buff_size

16を代入してください。

sort_rthd

1を代入してください。

SORTBUF

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

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

SORTBUF= (48+sort_buff_size×1,024)×sort_rthd

sort_buff_size

256を代入してください。

RTHD_DATALOAD

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

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

[図データ]

col_num

処理対象表の列数

6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)」の「(a) 変数PROC_MNGの求め方」の「表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

var_col_num

処理対象表にあるVARCHAR型,およびVARBINARY型の列数

6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)」の「(a) 変数PROC_MNGの求め方」の「表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

RTHD_IDXREC

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

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

RTHD_IDXREC

↑(386+328×(idx_num−1)+32×max_idx_col_num+(64+buf_size×1,024)×2×idx_num)÷1,024↑

idx_num

処理対象表に定義されたインデクスの数

6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)」の「(a) 変数PROC_MNGの求め方」の「表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

max_idx_col_num

処理対象表に定義されたインデクスのインデクス構成列数の最大値

6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)」の「(a) 変数PROC_MNGの求め方」の「表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

buf_size

1,024を代入してください。

RTHD_IDXBUILD

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

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

[図データ]

idx_num

処理対象表に定義されたインデクスの数

6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)」の「(a) 変数PROC_MNGの求め方」の「表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

RTHD_IDXBUILD_MEM(k)

処理対象表に定義されたk番目のB-treeインデクスの一括作成に必要なメモリ

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

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

[図データ]

KEYSZ

B-treeインデクスのキー長(単位:バイト)

6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)」の「(a) 変数PROC_MNGの求め方」の「表6‒15 システム表に対応する変数の値」を参照して,処理対象表名に対応する値を代入してください。

CTRL

12バイトを代入してください。

page_size

4,096バイトを代入してください。

(3) ヒープメモリの所要量の求め方(adbreorgsystemdataコマンド実行時)

adbreorgsystemdataコマンド実行時のヒープメモリ(HEAP_REORGSZ)の所要量は,次に示す計算式から求めてください。

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

[図データ]

変数の説明

sort_rthd

1を代入してください。