Hitachi

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


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

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

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

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

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

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

〈この項の構成〉

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

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

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

[図データ]

注※1

B-treeインデクスを定義した表に,adbunarchivechunkコマンドを実行する場合に加算します。

注※2

レンジインデクスを定義した表に,adbunarchivechunkコマンドを実行する場合に加算します。

注※3

チャンクに対応するアーカイブファイル数が,1,024個を超える場合に加算します。

注※4

複数のチャンクに対してadbunarchivechunkコマンドを実行する場合は,チャンク単位にメモリ所要量を求めてください。そして,求めた値の最大値を加算してください。

注※5

複数のadbunarchivechunkコマンドを同時に実行する場合は,各adbunarchivechunkコマンドが使用するメモリ所要量を求めてください。そして,それぞれで求めたメモリ所要量を合計してください。

変数の説明

PROC_UNARCCON

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

PROC_UMAC

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

PROC_IDX

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

PROC_IDXBUILD

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

PROC_RNGIDX

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

PROC_INFILE

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

PROC_DBUPDINF

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

PROC_RTHDUPDINF

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

(a) 変数PROC_UNARCCONの求め方

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

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

[図データ]

注※

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

変数の説明

PROC_AUDINFSZ

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

(b) 変数PROC_UMACの求め方

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

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

[図データ]

変数の説明

DIC

6.3.6 adbimportコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbimportコマンド実行時)」の「(a) 変数PROC_IMPTの求め方」の変数DICを参照してください。

IOA

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

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

[図データ]

max_rowsz

最大行長(単位:バイト)

最大行長については,「5.8.2 行の種別ごとの格納ページ数の求め方」の「(1) 基本行用ページ数(変数BP(i))の求め方」の行長ROWSZの計算式を基に求めてください。

col_num

処理対象表の列数

idx_num

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

dba_num

処理対象表を格納するDBエリアのDBエリアファイル数

load_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1
LOD

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

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

[図データ]

注※

チャンクをアーカイブ状態にしたあとに,列を追加した場合は,追加した列に対する情報を加算してください。

read_size

アンアーカイブチャンクオプションadb_unarcv_read_sizeの指定値

read_buff_num

3を代入してください。

decomp_buff_size

アンアーカイブチャンクオプションadb_unarcv_decompress_buff_sizeの指定値

load_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1
input_file_num

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

input_edit_area

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

計算式

[図データ]

input_recsize

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

計算式

[図データ]

Σ(DATASIZE

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

各データ型のデータを文字形式で表した場合の最大長については,次に示す表から求めてください。

表6‒14 各データ型のデータを文字形式で表した場合の最大長の一覧

項番

分類

データ型

文字形式のデータ最大長

1

数データ

INTEGER

23

2

BIGINT

3

SMALLINT

13

4

DECIMAL(m,n)

m+5

5

NUMERIC(m,n)

6

DOUBLE PRECISION

511

7

FLOAT

8

文字データ

CHAR(n)

n×2+2

9

VARCHAR(n)

n×2+2

10

日時データ

DATE

12

11

TIME(p)

8+p+3

12

TIMESTAMP(p)

19+p+3

13

バイナリデータ

BINARY(n)

n×8+2

14

VARBINARY(n)

n×8+2

(凡例)

mnp:マニュアルHADB SQLリファレンスデータ型の種類を参照してください。

IMPORTBUF_CTL

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

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

[図データ]

BUFBLK

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

load_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1
STS

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

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

[図データ]

idx_num

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

b_tree_idx_num

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

range_idx_num

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

load_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1
text_idx_num

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

PAGEALLOC

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

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

[図データ]

unarcv_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1

(c) 変数PROC_IDXの求め方

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

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

[図データ]

変数の説明

idxf_buff_size

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

KEYSZ

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

5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方」を基に,B-treeインデクスのキー長を求めてください。

なお,可変長データのB-treeインデクスのキー長を求める際は,「表5‒19 B-treeインデクスのキー長一覧」中の「実際のデータ長」を「データの定義長」で計算してください。

また,処理対象表に複数のB-treeインデクスが定義されている場合は,定義されたB-treeインデクスの中で最大のキー長を使用してください。

idx_num

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

load_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1
cmd_d_opt

1を代入してください。

rd_buff_size

アンアーカイブチャンクオプションadb_unarcv_dividx_rd_buff_sizeの指定値

ld_buff_size

アンアーカイブチャンクオプションadb_unarcv_dividx_wt_buff_sizeの指定値

CTRL
  • インデクスのインデクス構成列が固定長の場合

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

  • インデクスのインデクス構成列に可変長を含む場合

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

text_idx_num

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

dividx_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1

(d) 変数PROC_IDXBUILDの求め方

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

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

[図データ]

変数の説明

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

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

[図データ]

idx_num

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

PROC_IDXCREATE_MEM(k)

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

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

[図データ]

idx_col_num

B-treeインデクスのインデクス構成列の数

idx_lv

B-treeインデクスの段数

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

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

dividx_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1
KEYSZ

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

5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方」を基に,B-treeインデクスのキー長を求めてください。

なお,可変長データのB-treeインデクスのキー長を求める際は,「表5‒19 B-treeインデクスのキー長一覧」中の「実際のデータ長」を「データの定義長」で計算してください。

page_size

B-treeインデクスが定義されているデータ用DBエリアのページサイズ(単位:バイト)

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

(e) 変数PROC_RNGIDXの求め方

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

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

[図データ]

変数の説明

rngidx_num

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

(f) 変数PROC_INFILEの求め方

変数PROC_INFILEは,1つのチャンクに対応したアーカイブファイルが1,024個を超える場合に加算する必要があります。次に示す計算式から求めてください。

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

[図データ]

変数の説明

INFMAX

チャンクに対応したアーカイブファイル数

(g) 変数PROC_DBUPDINFの求め方

変数PROC_DBUPDINFは,次に示す計算式から求めてください。なお,マルチノード機能を使用するかどうかで,計算式が異なります。

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

[図データ]

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

[図データ]

変数の説明

DBUPDINF_ENT_NUM

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

計算式(単位:個数)

[図データ]

archive_file_num

アーカイブ状態のチャンクに対応しているアーカイブファイル数

adbdbstatusコマンドで「アーカイブ状態のチャンクのサマリ情報」を出力して,「Archive_file_num」を確認してください。「Archive_file_num」については,マニュアルHADB コマンドリファレンスadbdbstatus(データベースの状態解析)アーカイブ状態のチャンクのサマリ情報で出力される項目アーカイブ状態のチャンクのサマリ情報で出力される項目の一覧を参照してください。

(h) 変数PROC_RTHDUPDINFの求め方

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

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

[図データ]

変数の説明

rthd_num

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1

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

adbunarchivechunkコマンド実行時のリアルスレッド固有メモリ(RTHD_UNARCCKSZ)の所要量は,次に示す計算式から求めてください。

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

[図データ]

注※1

B-treeインデクスを定義した表に,adbunarchivechunkコマンドを実行する場合に加算します。

注※2

レンジインデクスを定義した表に,adbunarchivechunkコマンドを実行する場合に加算します。

注※3

テキストインデクスを定義した表に,adbunarchivechunkコマンドを実行する場合に加算します。

変数の説明

IMPORTBUF

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

SORTIOBUF

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

SORTBUF

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

RTHD_DATALOAD

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

RTHD_IDXREC

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

RTHD_IDXBUILD

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

RTHD_RNGIDX

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

RTHD_TXTIDX

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

RTHD_ARCDIRPATH

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

(a) 変数IMPORTBUFの求め方

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

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

[図データ]

変数の説明

IMP_SQBLK

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

計算式(単位:バイト)

IMP_SQBLKimp_blknum×(136+↑IMP_BLKSZ÷imp_pagesize÷64↑×40)
imp_blknum

アンアーカイブチャンクオプションadb_unarcv_buff_blk_numの指定値

IMP_BLKSZ

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

計算式

[図データ]

imp_pagesize

次のDBエリアのページサイズのうち,最小の値(単位:バイト)

  • 処理対象表が格納されているDBエリア

  • 処理対象表に定義されているB-treeインデクスまたはテキストインデクスが格納されているDBエリア

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

IMP_SQIO

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

計算式(単位:バイト)

[図データ]

imp_blknum

アンアーカイブチャンクオプションadb_unarcv_buff_blk_numの指定値

IMP_SQPGE

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

計算式(単位:バイト)

[図データ]

imp_pagesize

次のDBエリアのページサイズのうち,最小の値(単位:バイト)

  • 処理対象表が格納されているDBエリア

  • 処理対象表に定義されているB-treeインデクスまたはテキストインデクスが格納されているDBエリア

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

BUFLOG

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

IMP_BLKSZ

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

計算式

[図データ]

imp_blknum

アンアーカイブチャンクオプションadb_unarcv_buff_blk_numの指定値

IMP_SQHS

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

計算式(単位:バイト)

IMP_SQHS= 48×imp_blknum
imp_blknum

アンアーカイブチャンクオプションadb_unarcv_buff_blk_numの指定値

(b) 変数SORTIOBUFの求め方

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

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

[図データ]

変数の説明

sort_io_buff_size

16を代入してください。

sort_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1

(c) 変数SORTBUFの求め方

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

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

[図データ]

変数の説明

sort_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1
sort_buff_size

アンアーカイブチャンクオプションadb_unarcv_sort_buff_sizeの指定値

注※

ソート処理では,作業用ワークファイルが作成されます。このファイルの容量を最小にする変数sort_buff_sizeの計算式を次に示します。変数sort_buff_sizeは,次に示す計算式を満たすようにしてください。ただし,メモリに余裕がない場合,またはほとんどのデータがインデクスキー順に並んでいる場合は,必要以上に大きな値を指定しないでください。

計算式

[図データ]

REC_SIZE

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

計算式

[図データ]

KEYSZ

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

5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方」を基に,B-treeインデクスのキー長を求めてください。

なお,可変長データのB-treeインデクスのキー長を求める際は,「表5‒19 B-treeインデクスのキー長一覧」中の「実際のデータ長」を「データの定義長」で計算してください。

また,処理対象表に複数のB-treeインデクスが定義されている場合は,定義されたB-treeインデクスの中で最大のキー長を使用してください。

SYS1
  • 処理対象表に定義されたインデクスのインデクス構成列が固定長の場合

    10を代入してください。

  • 処理対象表に定義されたインデクスのインデクス構成列に可変長を含む場合

    12を代入してください。

SYS2
  • 処理対象表に定義されたインデクスが可変長の複数列インデクスの場合

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

    計算式

    [図データ]

  • そのほかのインデクスの場合

    0を代入してください。

BLK

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

計算式

[図データ]

row_num

adbunarchivechunkコマンドで表に格納する行数

KEY_INF

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

計算式

[図データ]

COL_INFO

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

計算式

[図データ]

MULTI_KEY_INFO
  • 処理対象表に定義されたB-treeインデクスが可変長の複数列インデクスの場合

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

    計算式

    [図データ]

  • そのほかの場合

    5を代入してください。

(d) 変数RTHD_DATALOADの求め方

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

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

[図データ]

注※1

処理対象表にレンジインデクスが定義されている場合に加算してください。

注※2

処理対象表が非FIX表の場合に加算してください。

変数の説明

col_num

処理対象表の列数

var_col_num

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

(e) 変数RTHD_IDXRECの求め方

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

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

[図データ]

変数の説明

idx_num

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

max_idx_col_num

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

buf_size

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

(f) 変数RTHD_IDXBUILDの求め方

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

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

[図データ]

変数の説明

idx_num

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

RTHD_IDXBUILD_MEM(k)

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

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

[図データ]

page_size

B-treeインデクスが定義されているデータ用DBエリアのページサイズ(単位:バイト)

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

KEYSZ

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

5.8.4 B-treeインデクスのキー長(KEYSZ)の求め方」を基に,B-treeインデクスのキー長を求めてください。

なお,可変長データのB-treeインデクスのキー長を求める際は,「表5‒19 B-treeインデクスのキー長一覧」中の「実際のデータ長」を「データの定義長」で計算してください。

CTRL
  • インデクス構成列のキー長がすべて固定長の場合

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

  • インデクス構成列のキー長に可変長を含む場合

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

(g) 変数RTHD_RNGIDXの求め方

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

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

[図データ]

変数の説明

rngidx_num

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

load_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1

(h) 変数RTHD_TXTIDXの求め方

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

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

[図データ]

変数の説明

idx_num

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

RTHD_TXTIDXBUILD_MEM(k)

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

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

[図データ]

buff_blk_size

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

buff_blk_num

アンアーカイブチャンクオプションadb_unarcv_buff_blk_numの指定値

idx_div_num

k番目のテキストインデクスのインデクス構成列定義長

txt_sort_buff_size

アンアーカイブチャンクオプションadb_unarcv_txt_buff_sizeの指定値

(i) 変数RTHD_ARCDIRPATHの求め方

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

値(単位:キロバイト)

[図データ]

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

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

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

[図データ]

注※

複数のadbunarchivechunkコマンドを同時に実行する場合は,各adbunarchivechunkコマンドが使用するヒープメモリの所要量を求めてください。そして,それぞれで求めたヒープメモリの所要量を合計してください。

変数の説明

HEAP_ZLIB

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

HEAP_SRTHMEM

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

(a) 変数HEAP_ZLIBの求め方

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

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

[図データ]

変数の説明

load_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1

(b) 変数HEAP_SRTHMEMの求め方

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

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

[図データ]

変数の説明

sort_rthd

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

アンアーカイブチャンクオプションadb_unarcv_rthd_numの指定値-1