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
- (凡例)
-
m,n,p:マニュアル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_SQBLK=imp_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