Hitachi

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


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

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

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

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

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

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

〈この項の構成〉

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

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

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

PROC_MERGCSZ=
  Σ(PROC_MNGPROC_IDX※1PROC_IDXREBUILD※1PROC_RNGIDX※2PROC_CHUNK_INFOPROC_DBUPDINFPROC_RTHDUPDINFPROC_OBJDELENT※3PROC_IDXEST※5※4
変数の説明
注※1

処理対象インデクスにB-treeインデクスが含まれる場合に加算してください。

注※2

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

注※3

クラウドストレージ機能を使用する場合に加算してください。

注※4

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

注※5

次のどちらかの条件に該当する場合に加算します。

  • マージチャンクオプションadb_mergechunk_dvbix_rthd_useVARIABLEを指定してadbmergechunkコマンドを実行する場合

  • サーバ定義のadb_cmd_dvbix_rthd_useオペランドにVARIABLEを指定し,マージチャンクオプションadb_mergechunk_dvbix_rthd_useの指定を省略してadbmergechunkコマンドを実行する場合

(a) 変数PROC_MNGの求め方

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

計算式(単位:キロバイト)
PROC_MNG=
    5+DICIOASCANIDXRBLDBUF_CTLSTSPAGEALLOCCHUNKPROC_AUDINFSZ
注※

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

変数の説明

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

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

IOAデータベースアクセスで使用するメモリ

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

計算式(単位:キロバイト)
IOAsql_size+(scan_buff_sizeoffset_area×2)×scan_rthd
  • sql_size

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

    32+1,024

  • scan_buff_size

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

    マージチャンクオプションadb_mergechunk_scan_buff_sizeの指定値×1,024

  • offset_area

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

    (8×処理対象インデクスの構成列数×(scan_buff_size×1,024

    ÷(処理対象インデクスの構成列長の合計値+8)))÷1,024

  • scan_rthd

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

    ↓(マージチャンクオプションadb_mergechunk_rthd_numの指定値-1)÷2↓
SCANインデクスレコードファイルの出力処理で必要となるメモリ

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

計算式(単位:キロバイト)
SCAN=
   ↑(write_size×scan_rthd×b-tree_index_num)↑
  • write_size

    マージチャンクオプションadb_mergechunk_dvix_wtbuff_sizeの指定値

  • scan_rthd

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

    ↓(マージチャンクオプションadb_mergechunk_rthd_numの指定値-1)÷2↓
  • b-tree_index_num

    処理対象のB-treeインデクス数

IDXRBLDBUF_CTLマージチャンク用バッファ制御情報

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

計算式(単位:キロバイト)
IDXRBLDBUF_CTL=
   ↑(248+BUFBLK)÷1,024↑×scan_rthd
STSステータス情報を退避するメモリ

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

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

[図データ]

idx_num

処理対象のインデクス数

b_tree_idx_num

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

range_idx_num

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

scan_rthd

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

↓(マージチャンクオプションadb_mergechunk_rthd_numの指定値-1)÷2↓
text_idx_num

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

PAGEALLOCマージチャンク用ページ割り当て制御情報

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

計算式(単位:キロバイト)
PAGEALLOCdividx_rthd×310
  • dividx_rthd

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

    マージチャンクオプションadb_mergechunk_rthd_numの指定値-1
CHUNKチャンク管理ブロック

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

計算式
CHUNK= ↑(8×(chunk_num×2)+30,000)÷1,024↑
  • chunk_num

    処理対象表に作成されているチャンク数

PROC_AUDINFSZ

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

(b) 変数PROC_IDXの求め方

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

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

[図データ]

変数の説明

KEYSZ

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

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

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

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

scan_rthd

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

↓(マージチャンクオプションadb_mergechunk_rthd_numの指定値-1)÷2↓
rd_buff_size

マージチャンクオプションadb_mergechunk_dvix_rdbuff_sizeの指定値

ld_buff_size

マージチャンクオプションadb_mergechunk_dvix_wtbuff_sizeの指定値

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

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

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

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

text_idx_num

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

dividx_rthd

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

マージチャンクオプションadb_mergechunk_rthd_numの指定値-1
b_tree_idx_num

処理対象のB-treeインデクス数

(c) 変数PROC_IDXREBUILDの求め方

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

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

[図データ]

idx_num

再作成対象のB-treeインデクス数

PROC_IDXREBUILD_MEM(k)

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

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

PROC_IDXREBUILD_MEM(k)=
  ↑(184+256×idx_col_num+(18+256×↑idx_lv÷16↑)×dividx_rthdKEYSZ+(idx_col_num+1)×2+4)÷1,024↑

(d) 変数PROC_RNGIDXの求め方

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

計算式(単位:キロバイト)
PROC_RNGIDXPROC_RNG_BATCREATE※1PROC_RNG_BATCRT_WITHREC※2
注※1

--concurrency-priorオプションを指定しないでadbmergechunkコマンドを実行する場合に加算してください。

注※2

--concurrency-priorオプションを指定してadbmergechunkコマンドを実行する場合に加算してください。

変数の説明

PROC_RNG_BATCREATE

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

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

PROC_RNG_BATCREATE= ↑64×rngidx_num÷1,024↑
rngidx_num

一括更新対象のレンジインデクスの数

PROC_RNG_BATCRT_WITHREC

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

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

PROC_RNG_BATCRT_WITHREC=
   ↑( (8,576+128×pageimg_entcnt+1,104×crt_recfile_rthd)×rngidx_numsum_pageimg_size )÷1,024↑
pageimg_entcnt

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

計算式(単位:個)

pageimg_entcnt= MAX(128 , crt_recfile_rthd×2)
crt_recfile_rthd

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

計算式(単位:個)

crt_recfile_rthd=
   ↓(マージチャンクオプションadb_mergechunk_rthd_numの指定値-1)÷2↓
rngidx_num

一括更新対象のレンジインデクスの数

sum_pageimg_size

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

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

[図データ]

rngidx_num

一括更新対象のレンジインデクスの数

page_size(i)

一括更新の対象となるi番目のレンジインデクスが格納されているデータ用DBエリアのページサイズ(単位:バイト)

表6‒3 DBエリアのページサイズ」のデータ用DBエリアのページサイズを参照して求めてください。

PGGRPRI(i)

一括更新の対象となるi番目のレンジインデクスのページグループ数

5.8.6 レンジインデクスを格納するセグメント数の求め方」の「(1) 変数SGRIの求め方」の「PGGRPRI」を参照してください。

(e) 変数PROC_CHUNK_INFOの求め方

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

計算式(単位:キロバイト)
PROC_CHUNK_INFO= ↑(1+index_num)×120×(chunk_num+1)÷1,024↑
変数の説明

index_numマージチャンク対象表に対して定義したインデクスの数

chunk_numマージチャンク対象表のチャンク数の最大値

なお,adbmergechunkコマンドを実行すると,変数PROC_CHUNK_INFOで求められるサイズ分,プロセス共通メモリが確保されます。adbmergechunkコマンドが完了すると,確保されたプロセス共通メモリは解放されます。

しかし,次の理由で削除仕掛中のチャンクが残っている場合,確保されたプロセス共通メモリは解放されません。削除仕掛中のチャンクをすべて削除すると,解放されます。

  • 実行中のadbmergechunkコマンドが,マージ先チャンクの完成からマージ元チャンクの削除完了までの間に中断した場合

    adbcancelコマンドを実行したとき,HADBサーバでメモリ不足が発生したときなどが該当します。

  • adbmergechunkコマンドの--purge-chunkオプションにNOWAITを指定して実行した場合に,マージチャンク対象の表を参照している処理が存在したとき

(f) 変数PROC_DBUPDINFの求め方

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

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

[図データ]

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

[図データ]

変数の説明

DBUPDINF_ENT_NUM

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

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

マルチノード機能を使用しない場合の計算式(単位:個数)

[図データ]

マルチノード機能を使用する場合の計算式(単位:個数)

[図データ]

index_num

マージチャンク対象表に定義しているインデクス数

chunk_num

マージするチャンク数

(g) 変数PROC_RTHDUPDINFの求め方

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

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

[図データ]

変数の説明

rthd_num

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

マージチャンクオプションadb_mergechunk_rthd_numの指定値-1

(h) 変数PROC_OBJDELENTの求め方

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

計算式(単位:キロバイト)
PROC_OBJDELENT=↑((80+32,768)×128×dbarea_num)÷1,024↑

変数の説明

dbarea_num

adbmergechunkコマンドの実行対象表,およびその表に定義するインデクスを格納するDBエリアの数

(i) 変数PROC_IDXESTの求め方

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

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

PROC_IDXEST=↑{4,120+8×RTHNUM+(8×idx_num+Σ(ESTINF)+4,096)×scan_rthd}÷1,024↑

変数の説明

RTHNUM:総リアルスレッド数

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

idx_num

処理対象表に定義するB-treeインデクスの数

Σ(ESTINF)

処理対象表に定義するB-treeインデクスごとにESTINFを次に示す計算式から求めて,求めた値を合計してください。

計算式(単位:バイト)

ESTINF=56+8×MIN(65,535 ,ESTENT_NUM)+48×ESTENT_NUM
ESTENT_NUM

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

ESTENT_NUM=
      MAX{256 ,
           ↓MAX{1 ,↓(↓(page_size×(100-pctfree))÷100↓-80)÷(KEYSZDB+22)↓}
             ×↓2,097,152÷page_size↓÷scan_rthd↓×2
           }
page_size

B-treeインデクスを格納するデータ用DBエリアのページサイズ(単位:バイト)

pctfree

CREATE INDEX文のPCTFREEオペランドに指定する未使用領域の比率(単位:%)

未使用領域の比率を指定しない場合は,30%と仮定して計算してください。

KEYSZDB

データベース格納キー長(単位:バイト)

5.8.3 B-treeインデクスのセグメントごとの格納ページ数の求め方」の「(1) 下位ページ用のセグメントで使用する格納ページ数(変数IP_LOWER(i))の求め方」の変数KEYSZDBを参照してください。ただし,可変長のデータは,常にキー長を定義長として求めてください。

scan_rthd

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

↓(マージチャンクオプションadb_mergechunk_rthd_numの指定値-1)÷2↓

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

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

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

RTHD_MERCHKSZIDXRBLDBUFRTHD_SCANSORTIOBUF※1SORTBUF※1RTHD_IDXREC※1RTHD_IDXREBUILD※1RTHD_RNGIDX※2RTHD_TXTIDX※3CHUNKINF※4
変数の説明
注※1

B-treeインデクスを対象にした場合に加算してください。

注※2

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

注※3

処理対象インデクスにテキストインデクスが含まれる場合に加算してください。

注※4

--concurrency-priorオプションを指定する場合に加算してください。

(a) 変数IDXRBLDBUFの求め方

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

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

IDXRBLDBUF=↑(RBLD_SQBUF※1RBLD_COBUF※2)÷1,024↑
注※1

クラウドストレージ機能を使用しない場合に加算してください。

注※2

クラウドストレージ機能を使用する場合に加算してください。

変数の説明

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

計算式(単位:バイト)

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

計算式(単位:バイト)

RBLD_SQBLKrbld_blknum×(136+↑RBLD_BLKSZ÷rbld_pagesize÷64↑×40
RBLD_SQIO次に示す計算式から求めてください。

計算式(単位:バイト)

RBLD_SQIO= 568×rbld_blknum
  • rbld_blknum

    マージチャンクオプションadb_mergechunk_buff_blk_numの指定値

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

計算式(単位:バイト)

RBLD_SQPGE=
  (176+rbld_pagesizeBUFLOG)×(RBLD_BLKSZ÷rbld_pagesize)×rbld_blknum
RBLD_SQHS次に示す計算式から求めてください。

計算式(単位:バイト)

RBLD_SQHS= 48×rbld_blknum
  • rbld_blknum

    マージチャンクオプションadb_mergechunk_buff_blk_numの指定値

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

計算式(単位:バイト)

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

計算式(単位:バイト)

RBLD_COBLKrbld_blknum×72
  • rbld_blknum

    マージチャンクオプションadb_mergechunk_buff_blk_numの指定値

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

計算式(単位:バイト)

RBLD_COIO=136×rbld_blknum
  • rbld_blknum

    マージチャンクオプションadb_mergechunk_buff_blk_numの指定値

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

計算式(単位:バイト)

RBLD_COPGE
     =((176+BUFLOG)×SEGSIZERBLD_COBLKSZ)×rbld_blknum
RBLD_COHS:次に示す計算式から求めてください。

計算式(単位:バイト)

RBLD_COHS=40×rbld_blknum
  • rbld_blknum

    マージチャンクオプションadb_mergechunk_buff_blk_numの指定値

(b) 変数RTHD_SCANの求め方

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

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

RTHD_SCAN = MAX( RTHD_EXESQLSZ , RTHD_EXESQLDICSZ

次に示すSQL文を実行したものと仮定して,変数RTHD_EXESQLSZおよび変数RTHD_EXESQLDICSZの値をそれぞれ求めてください。

SELECT 選択式 FROM "対象表名"
注※

CHAR(16)の列と,処理対象表に定義したインデクスの全インデクス構成列について重複を排除した列を指定したものとして求めてください。

変数の説明

RTHD_EXESQLSZ

6.3.4 通常運用時のメモリ所要量の求め方」の「(2) リアルスレッド固有メモリの所要量の求め方(通常運用時)」の「(c) 変数RTHD_EXESQLSZの求め方」を参照してください。

RTHD_EXESQLDICSZ

6.3.4 通常運用時のメモリ所要量の求め方」の「(2) リアルスレッド固有メモリの所要量の求め方(通常運用時)」の「(g) 変数RTHD_EXESQLDICSZの求め方」を参照してください。

(c) 変数SORTIOBUFの求め方

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

計算式(単位:キロバイト)
SORTIOBUFsort_io_buff_size×sort_rthd
変数の説明
  • sort_io_buff_size

    16を代入してください。

  • sort_rthd

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

    マージチャンクオプションadb_mergechunk_rthd_numの指定値-1

(d) 変数SORTBUFの求め方

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

計算式(単位:キロバイト)
SORTBUF= (48+sort_buff_size×1,024)×sort_rthd

変数の説明

sort_rthd

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

マージチャンクオプションadb_mergechunk_rthd_numの指定値-1
sort_buff_size

マージチャンクオプションadb_mergechunk_sort_buff_sizeの指定値

注※

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

計算式

[図データ]

変数の説明

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

計算式

REC_SIZE= (KEYSZSYS1)+SYS2
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次に示す値を仮定してください。
  • 処理対象表に定義されたインデクスが可変長の複数列インデクスの場合

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

    インデクス構成列数×4)

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

    0

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

計算式

BLKREC_SIZE+(KEYSZ+8)+56
row_num

処理対象表に格納されている行数

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

計算式

KEY_INFREC_SIZE+(KEYSZ+8)+28
COL_INFO次に示す計算式から求めてください。

計算式

COL_INFO= 2,112+(MULTI_KEY_INFO×32)+(KEYSZ+8)
MULTI_KEY_INFO次に示す値を仮定してください。
  • 処理対象表に定義されたB-treeインデクスが可変長の複数列インデクスの場合

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

    インデクス構成列数×2)+2

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

    5

(e) 変数RTHD_IDXRECの求め方

変数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

    再作成対象のB-treeインデクス数

  • max_idx_col_num

    再作成対象のB-treeインデクスのインデクス構成列数の最大値

  • buf_size

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

(f) 変数RTHD_IDXREBUILDの求め方

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

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

[図データ]

変数の説明

idx_num

再作成対象のB-treeインデクス数

RTHD_IDXREBUILD_MEMk

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

計算式(単位:キロバイト)
RTHD_IDXREBUILD_MEMk)=
  ↑(61,458+↑MAX(255,KEYSZ)÷2↑×2+3,070
   +↑KEYSZCTRL÷8↑×8+MAX(255,KEYSZ)+14
   +↓8+page_size×95÷100↓×2)÷1,024↑
KEYSZ

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

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

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

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

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

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

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

page_size

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

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

(g) 変数RTHD_RNGIDXの求め方

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

計算式(単位:キロバイト)
RTHD_RNGIDXRTHD_RNG_BATCREATE※1RTHD_RNG_BATCRT_WITHREC※2
注※1

--concurrency-priorオプションを指定しないでadbmergechunkコマンドを実行する場合に加算してください。

注※2

--concurrency-priorオプションを指定してadbmergechunkコマンドを実行する場合に加算してください。

変数の説明

RTHD_RNG_BATCREATE

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

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

RTHD_RNG_BATCREATE= ↑(32+208×rngidx_num)×scan_rthd÷1,024↑
rngidx_num

一括更新対象のレンジインデクスの数

scan_rthd

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

計算式(単位:個)

scan_rthd
   ↓(マージチャンクオプションadb_mergechunk_rthd_numの指定値-1)÷2↓
RTHD_RNG_BATCRT_WITHREC

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

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

RTHD_RNG_BATCRT_WITHREC= ↑MAX(CRT_RECFILE , CRT_RNGIDX)÷1,024↑
CRT_RECFILE

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

計算式(単位:バイト)

CRT_RECFILE= (32+272×rngidx_numRNG_IDXREC_WRITE)×crt_recfile_rthd
rngidx_num

一括更新対象のレンジインデクスの数

RNG_IDXREC_WRITE

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

計算式(単位:バイト)

RNG_IDXREC_WRITE= 640+1,049,040×rngidx_num
rngidx_num

一括更新対象のレンジインデクスの数

crt_recfile_rthd

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

計算式(単位:個)

crt_recfile_rthd=
   ↓(マージチャンクオプションadb_mergechunk_rthd_numの指定値-1)÷2↓
CRT_RNGIDX

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

計算式(単位:バイト)

[図データ]

page_size(i)

一括更新の対象となるi番目のレンジインデクスが格納されているデータ用DBエリアのページサイズ(単位:バイト)

表6‒3 DBエリアのページサイズ」のデータ用DBエリアのページサイズを参照して求めてください。

PGGRPRI(i)

一括更新の対象となるi番目のレンジインデクスのページグループ数

5.8.6 レンジインデクスを格納するセグメント数の求め方」の「(1) 変数SGRIの求め方」の「PGGRPRI」を参照してください。

RNG_IDXREC_READ

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

計算式(単位:バイト)

RNG_IDXREC_READ= 64+128×rngidx_num+16×page_size
rngidx_num

再作成対象のレンジインデクスの数

page_size

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

crt_rngidx_rthd

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

計算式(単位:個)

crt_rngidx_rthdマージチャンクオプションadb_mergechunk_rthd_numの指定値-1

(h) 変数RTHD_TXTIDXの求め方

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

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

[図データ]

変数の説明

idx_num

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

RTHD_TXTIDXBUILD_MEM(k)

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

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

[図データ]

buff_blk_size

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

buff_blk_num

マージチャンクオプションadb_mergechunk_buff_blk_numの指定値

idx_div_num

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

txt_sort_buff_size

マージチャンクオプションadb_mergechunk_txt_buff_sizeの指定値

(i) 変数CHUNKINFの求め方

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

計算式(単位:キロバイト)
CHUNKINF= ↑(32+32×chunk_num)÷1,024↑

変数の説明

chunk_num

処理対象表のチャンク数

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

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

計算式(単位:キロバイト)
HEAP_MERCHKSZ= Σ(505×sort_rthd
注※

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

変数の説明

sort_rthd

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

マージチャンクオプションadb_mergechunk_rthd_numの指定値-1