6.3.16 adbarchivechunkコマンド実行時のメモリ所要量の求め方
adbarchivechunkコマンドを実行する場合,HADBサーバは次に示すメモリを使用します。各メモリの所要量を求めてください。
- ■共有メモリ
-
-
プロセス共通メモリ(PROC_ARCCKSZ)
-
リアルスレッド固有メモリ(RTHD_ARCCKSZ)
-
- ■プロセスメモリ
-
-
ヒープメモリ(HEAP_ARCCKSZ)
-
それぞれのメモリ所要量の計算式を次に示します。
- 〈この項の構成〉
(1) プロセス共通メモリの所要量の求め方(adbarchivechunkコマンド実行時)
adbarchivechunkコマンド実行時のプロセス共通メモリ(PROC_ARCCKSZ)の所要量は,次に示す計算式から求めてください。
計算式(単位:キロバイト)
変数の説明
- PROC_ARCCON
-
「(a) 変数PROC_ARCCONの求め方」を参照して求めてください。
- PROC_MAC
-
「(b) 変数PROC_MACの求め方」を参照して求めてください。
- PROC_OUTFILE
-
「(c) 変数PROC_OUTFILEの求め方」を参照して求めてください。
- PROC_DBUPDINF
-
「(d) 変数PROC_DBUPDINFの求め方」を参照して求めてください。
- 注※1
-
複数のチャンクを処理対象にしてadbarchivechunkコマンドを実行する場合は,チャンク単位にメモリ所要量を求めてください。そして,求めた値の最大値を加算してください。
- 注※2
-
複数のadbarchivechunkコマンドを同時に実行する場合は,各adbarchivechunkコマンドが使用するメモリ所要量を求めてください。そして,それぞれで求めたメモリ所要量を合計してください。
(a) 変数PROC_ARCCONの求め方
変数PROC_ARCCONは,次に示す計算式から求めてください。
計算式(単位:キロバイト)
- 注※
-
監査証跡機能が有効な場合に加算してください。
変数の説明
- PROC_AUDINFSZ
-
「6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(3) プロセス共通メモリの所要量の求め方(HADBサーバ開始時)」の「(r) 変数AUDINFの求め方」にある変数PROC_AUDINFSZを参照して求めてください。
(b) 変数PROC_MACの求め方
変数PROC_MACは,次に示す計算式から求めてください。
計算式(単位:キロバイト)
変数の説明
- DIC
-
「6.3.6 adbimportコマンド実行時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(adbimportコマンド実行時)」の「(a) 変数PROC_IMPTの求め方」の変数DICを参照してください。
- IOA
-
次に示す計算式から求めてください。
計算式(単位:キロバイト)
- sql_size
-
次に示す計算式から求めてください。
計算式
- scan_buff_size
-
次に示す計算式から求めてください。
計算式
- offset_area
-
次に示す計算式から求めてください。
計算式
- scan_rthd
-
次に示す計算式から求めてください。
↓(アーカイブチャンクオプションadb_arcv_rthd_numの指定値-1)÷2↓
- EXPF
-
次に示す計算式から求めてください。
計算式(単位:キロバイト)
- exp_rthd
-
次に示す計算式から求めてください。
↓(アーカイブチャンクオプションadb_arcv_rthd_numの指定値-1)÷2↓
- PROC_EXPSQLS
-
adbarchivechunkコマンドを実行すると,チャンク内のデータをアーカイブするために,次に示すSQL文が1回実行されます。
SELECT * FROM 対象表名;
「6.3.4 通常運用時のメモリ所要量の求め方」の「(1) プロセス共通メモリの所要量の求め方(通常運用時)」の「(c) 変数PROC_EXECSQLSZの求め方」を参照して,検索系SQLの実行時に使用されるメモリの所要量を,処理対象表ごとに求めてください。その中で,最も大きい値を代入してください。
- SGMTGRP
-
次に示す計算式から求めてください。
計算式(単位:キロバイト)
- SGMTIDLIST
-
次に示す計算式から求めてください。
計算式(単位:キロバイト)
- max_sgmtnum_in_chunks
-
アーカイブ対象のチャンクの中で,最も大きな表のセグメント数
なお,インデクスのセグメント数は除きます。
チャンクごとの表のセグメント数は,次に示すどちらかの方法で確認してください。
-
adbdbstatusコマンドに-d usedオプションと-c tableオプションを指定して,「DBエリア,表とインデクスの使用量情報」を出力してください。そして,出力項目の「Used_segments」の値を基に,チャンクごとの表のセグメント数を求めてください。
-
アーカイブ対象のチャンクごとに,次に示す計算式で変数chunk_sgmtnumの値を求めてください。求めた値の中から,最も大きい変数chunk_sgmtnumの値を代入してください。
計算式
-
- chunk_sgmtnum
-
チャンク内に格納された表のセグメント数
なお,インデクスのセグメント数は除きます。
- CHBP
-
「5.8.1 データ用DBエリアの総ページ数の求め方」の「(2) 変数の説明」の「(f) 変数SGROWTBLの求め方(マルチチャンク表の場合)」にある「CHBP(i,k)」を参照してください。
- CHVP
-
「5.8.1 データ用DBエリアの総ページ数の求め方」の「(2) 変数の説明」の「(f) 変数SGROWTBLの求め方(マルチチャンク表の場合)」にある「CHVP(i,k)」を参照してください。
- SEGSIZE
-
「5.8.1 データ用DBエリアの総ページ数の求め方」の「(2) 変数の説明」の「SEGSIZE」を参照してください。
- page_size
-
「6.3.3 HADBサーバ開始時のメモリ所要量の求め方」の「(2) グローバルバッファページの所要量の求め方(HADBサーバ開始時)」にある「表6‒3 DBエリアのページサイズ」を参照してください。
- SGMTGRPLIST
-
次に示す計算式から求めてください。
計算式(単位:キロバイト)
- SGMTGRPNUM
-
変数SGMTGRPNUMは,変数max_sgmtnum_in_chunksの値で異なります。変数max_sgmtnum_in_chunksと変数SGMTGRPNUMの関係を,次の表に示します。
表6‒13 変数max_sgmtnum_in_chunksと変数SGMTGRPNUMの関係 項番
変数max_sgmtnum_in_chunksの値
変数SGMTGRPNUMの値(単位:個数)
1
max_sgmtnum_in_chunks<16
SGMTGRPNUMには,1を代入してください。
2
16≦max_sgmtnum_in_chunks
かつ
max_sgmtnum_in_chunks<32
SGMTGRPNUMには,4を代入してください。
3
32≦max_sgmtnum_in_chunks
かつ
max_sgmtnum_in_chunks<64
SGMTGRPNUMには,8を代入してください。
4
64≦max_sgmtnum_in_chunks
かつ
max_sgmtnum_in_chunks<256
SGMTGRPNUMには,16を代入してください。
5
256≦max_sgmtnum_in_chunks
SGMTGRPNUMは,次に示す計算式で求めてください。
- BINTREE
-
次に示す計算式から求めてください。
計算式(単位:キロバイト)
変数SGMTGRPNUMの計算式については,「表6‒13 変数max_sgmtnum_in_chunksと変数SGMTGRPNUMの関係」を参照してください。
(c) 変数PROC_OUTFILEの求め方
変数PROC_OUTFILEは,次に示す計算式から求めてください。
計算式(単位:キロバイト)
変数の説明
- OUTFMAX
-
次に示す計算式から求めてください。
↓(アーカイブチャンクオプションadb_arcv_rthd_numの指定値-1)÷2↓
(d) 変数PROC_DBUPDINFの求め方
変数PROC_DBUPDINFは,次に示す計算式から求めてください。なお,マルチノード機能を使用するかどうかで,計算式が異なります。
マルチノード機能を使用しない場合の計算式(単位:キロバイト)
マルチノード機能を使用する場合の計算式(単位:キロバイト)
変数の説明
- DBUPDINF_ENT_NUM
-
次に示す計算式から求めてください。
計算式(単位:個数)
- SGMTGRPNUM
-
「(b) 変数PROC_MACの求め方」の「表6‒13 変数max_sgmtnum_in_chunksと変数SGMTGRPNUMの関係」を参照してください。
- scan_rthd_num
-
次に示す計算式から求めてください。
↓(アーカイブチャンクオプションadb_arcv_rthd_numの指定値-1)÷2↓
(2) リアルスレッド固有メモリの所要量の求め方(adbarchivechunkコマンド実行時)
adbarchivechunkコマンド実行時のリアルスレッド固有メモリ(RTHD_ARCCKSZ)の所要量は,次に示す計算式から求めてください。
計算式(単位:キロバイト)
変数の説明
- RTHD_ARCSQL
-
「(a) 変数RTHD_ARCSQLの求め方」を参照して求めてください。
- RTHD_ARCDIRPATH
-
「(b) 変数RTHD_ARCDIRPATHの求め方」を参照して求めてください。
(a) 変数RTHD_ARCSQLの求め方
変数RTHD_ARCSQLの求め方を次に示します。
adbarchivechunkコマンドを実行すると,チャンク内のデータをアーカイブするために,次に示すSQL文が1回実行されます。
SELECT * FROM 対象表名;
「6.3.4 通常運用時のメモリ所要量の求め方」の「(2) リアルスレッド固有メモリの所要量の求め方(通常運用時)」の「(c) 変数RTHD_EXESQLSZの求め方」および「(g) 変数RTHD_EXESQLDICSZの求め方」を参照して,検索系SQLの実行時に使用されるメモリの所要量を,処理対象表ごとに求めてください。その中で,最も大きい値を代入してください。
(b) 変数RTHD_ARCDIRPATHの求め方
変数RTHD_ARCDIRPATHは,次に示す計算式から求めてください。
計算式(単位:キロバイト)
変数の説明
- SGMTGRPNUM
-
「(1) プロセス共通メモリの所要量の求め方(adbarchivechunkコマンド実行時)」の「(b) 変数PROC_MACの求め方」の「表6‒13 変数max_sgmtnum_in_chunksと変数SGMTGRPNUMの関係」を参照してください。
- scan_rthd_num
-
次に示す計算式から求めてください。
↓(アーカイブチャンクオプションadb_arcv_rthd_numの指定値-1)÷2↓
(3) ヒープメモリの所要量の求め方(adbarchivechunkコマンド実行時)
adbarchivechunkコマンド実行時のヒープメモリ(HEAP_ARCCKSZ)の所要量は,次に示す計算式から求めてください。
計算式(単位:キロバイト)
- 注※
-
複数のadbarchivechunkコマンドを同時に実行する場合は,各adbarchivechunkコマンドが使用するヒープメモリの所要量を求めてください。そして,それぞれで求めたヒープメモリの所要量を合計してください。
変数の説明
- HEAP_ZLIB
-
次に示す計算式から求めてください。
計算式(単位:キロバイト)
- archive_file_num
-
アーカイブ状態のチャンクに対応しているアーカイブファイル数
複数のチャンクに対してadbarchivechunkコマンドを実行する場合は,各チャンクの中で,チャンクに対応するアーカイブファイル数が,最も多いアーカイブファイル数を代入してください。
adbdbstatusコマンドで「アーカイブ状態のチャンクのサマリ情報」を出力して,「Archive_file_num」を確認してください。「Archive_file_num」については,マニュアルHADB コマンドリファレンスのadbdbstatus(データベースの状態解析)のアーカイブ状態のチャンクのサマリ情報で出力される項目のアーカイブ状態のチャンクのサマリ情報で出力される項目の一覧を参照してください。