6.3.18 adbreorgsystemdataコマンド実行時のメモリ所要量の求め方
adbreorgsystemdataコマンドを実行する場合,HADBサーバは次に示すメモリを使用します。各メモリの所要量を求めてください。
なお,ここでの「処理対象表」とは,「システム表(実表)」のことです。
- ■共有メモリ
-
-
プロセス共通メモリ(PROC_REORGSZ)
-
リアルスレッド固有メモリ(RTHD_REORGSZ)
-
- ■プロセスメモリ
-
-
ヒープメモリ(HEAP_REORGSZ)
-
それぞれのメモリ所要量の計算式を次に示します。
- 〈この項の構成〉
(1) プロセス共通メモリの所要量の求め方(adbreorgsystemdataコマンド実行時)
adbreorgsystemdataコマンド実行時のプロセス共通メモリ(PROC_REORGSZ)の所要量は,次に示す計算式から求めてください。
計算式(単位:キロバイト)
PROC_REORGSZ= PROC_MNG+PROC_IDX+PROC_IDXBUILD +PROC_DBUPDINF+PROC_RTHDUPDINF+PROC_UNLOAD_BUFF+PROC_OBJDELENT※
変数の説明
- 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の求め方」を参照して求めてください。
- PROC_OBJDELENT
-
S3オブジェクトまたはBLOBの削除情報
「(g) 変数PROC_OBJDELENTの求め方」を参照して求めてください。
- 注※
-
クラウドストレージ機能を使用する場合に加算してください。
(a) 変数PROC_MNGの求め方
変数PROC_MNGは,次に示す計算式から求めてください。
計算式(単位:キロバイト)
|
- 注※
-
監査証跡機能が有効な場合に加算してください。
変数の説明
- DIC
-
処理対象表の定義情報を取得するメモリ
次に示す計算式から求めてください。
計算式(単位:キロバイト)
DIC = ↑(1,012+32,520×col_num+max_rowsz+1,156×idx_num)÷1,024↑
- 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サーバ開始時)」の「(t) 変数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は,次に示す値を代入してください。
値(単位:キロバイト)
|
(g) 変数PROC_OBJDELENTの求め方
変数PROC_OBJDELENTは,次に示す値を代入してください。
値(単位:キロバイト)
PROC_OBJDELENT=4,203
(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
-
処理対象表のセグメント数
次の表を参照して,処理対象表名に対応する値を求めてください。
項番 |
処理対象表名 |
変数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)↑ |
変数STBLTABLESSIZE,STBLCOLUMNSSIZE,STBLINDEXESSIZE,STBLCHUNKSSIZE,およびSTBLSYNONYMDICSIZEについては,「5.12 システム表用DBエリアの容量見積もり」を参照してください。
(b) 変数RTHD_RELOADSZの求め方
変数RTHD_RELOADSZは,次に示す計算式から求めてください。
計算式(単位:キロバイト)
|
変数の説明
- RELOADBUF
-
次に示す計算式から求めてください。
計算式(単位:キロバイト)
RELOADBUF=↑(IMP_SQBUF※1+IMP_COBUF※2)÷1,024↑
- 注※1
-
クラウドストレージ機能を使用しない場合に加算してください。
- 注※2
-
クラウドストレージ機能を使用する場合に加算してください。
- IMP_SQBUF:次に示す計算式から求めてください。
-
計算式(単位:バイト)
IMP_SQBUF= IMP_SQBLK+IMP_SQIO+IMP_SQPGE+IMP_SQHS
- IMP_SQBLK
-
次に示す計算式から求めてください。
計算式(単位:バイト)
IMP_SQBLK= imp_blknum×(136+↑IMP_BLKSZ÷imp_pagesize÷64↑×40)
- imp_blknum
-
64を代入してください。
- IMP_BLKSZ
-
次に示す計算式から求めてください。
IMP_BLKSZ= 4,096×1,024
- imp_pagesize
-
4,096を代入してください。
- IMP_SQIO
-
次に示す計算式から求めてください。
計算式(単位:バイト)
IMP_SQIO= 568×imp_blknum
- IMP_SQPGE
-
次に示す計算式から求めてください。
計算式(単位:バイト)
IMP_SQPGE= (176+imp_pagesize+BUFLOG)×(IMP_BLKSZ÷imp_pagesize)×imp_blknum
- BUFLOG
-
「6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(d) 変数BUFGLOBALの求め方」の変数BUFLOGを参照してください。
- IMP_SQHS
-
次に示す計算式から求めてください。
計算式(単位:バイト)
IMP_SQHS= 48×imp_blknum
- IMP_COBUF
-
次に示す計算式から求めてください。
計算式(単位:バイト)
IMP_COBUF=IMP_COBLK+IMP_COIO+IMP_COPGE+IMP_COHS
- IMP_COBLK
-
次に示す計算式から求めてください。
計算式(単位:バイト)
IMP_COBLK=imp_blknum×72
- imp_blknum
-
64を代入してください。
- IMP_COIO
-
次に示す計算式から求めてください。
計算式(単位:バイト)
IMP_COIO=136×imp_blknum
- IMP_COPGE
-
次に示す計算式から求めてください。
計算式(単位:バイト)
IMP_COPGE =((176+BUFLOG)×SEGSIZE+IMP_COBLKSZ)×imp_blknum
- BUFLOG
-
「6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(d) 変数BUFGLOBALの求め方」の変数BUFLOGを参照してください。
- SEGSIZE
-
16を代入してください。
- IMP_COBLKSZ
-
次に示す計算式から求めてください。
IMP_COBLKSZ=16×4,096
- IMP_COHS:次に示す計算式から求めてください。
-
計算式(単位:バイト)
IMP_COHS=40×imp_blknum
- SORTIOBUF
-
次に示す計算式から求めてください。
計算式(単位:キロバイト)
SORTIOBUF= sort_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を代入してください。