18.2.3 データベース作成ユティリティ(pdload)実行時のメモリ所要量
データベース作成ユティリティ(pdload)実行時のメモリ所要量は,次に示す計算式で求めます。計算式の変数については「計算式で使用する変数」を参照してください。
(1) HiRDB/シングルサーバの場合
条件 |
メモリ所要量の計算式(単位:キロバイト) |
|
---|---|---|
32ビットモードの場合 |
シングルサーバ |
6352+↑{(α+γ)÷1024 }↑ |
ユティリティ専用ユニット※ |
1968+↑{(β+δ)÷1024 }↑ |
|
64ビットモードの場合 |
シングルサーバ |
12172+↑{(α+γ)÷1024 }↑ |
ユティリティ専用ユニット※ |
2423+↑{(β+δ)÷1024 }↑ |
- 注※
-
ユティリティ専用ユニットを使用しない場合は,計算値をシングルサーバに加算してください。
(2) HiRDB/パラレルサーバの場合
条件 |
メモリ所要量の計算式(単位:キロバイト) |
|
---|---|---|
32ビットモードの場合 |
MGR |
2255+↑{α÷1024}↑ |
入力ファイルがあるサーバマシン |
2045+↑{(β+δ)÷1024}↑ |
|
BES※ |
3762+↑{γ÷1024}↑ |
|
64ビットモードの場合 |
MGR |
2575+↑{α÷1024}↑ |
入力ファイルがあるサーバマシン |
2406+↑{(β+δ)÷1024}↑ |
|
BES※ |
8247+↑{γ÷1024}↑ |
- 注※
-
1サーバマシン内に複数のバックエンドサーバがある場合は,バックエンドサーバの数だけ繰り返し計算(加算)してください。
(3) 計算式で使用する変数
- α(単位:バイト):
-
{3056+A+B+(516×a)+(572×b)+(312×c)+(144×d)+(8×e)+(1032×f)+(44×g)+(272×h)+(224×i)+(44×j)+(60×k)+(260×m)+(56×n)+(196×p)+(236×q)+(744×r)+(620×s)}×2
- β(単位:バイト):
-
{6908+α+(C×t)+K+(48×a)+(22×b)+(8×e)+(240×i)+(48×j)+(4×k)+(224×m)+(47416×t)+(1032×u)+(4×v)}
- γ(単位:バイト):
-
{37700+(α÷2)+C+D+F+H+P+Q+T+(80×a)+(1871×b)+(120×c)+(26×g)+(1532×i)+(36×j)+(44×k)+(1212×m)+(40×n)+(344×p)+(30×q)+(16×u)+(88×v)+(20×w)}
- δ(単位:バイト):
-
{69436+α+D+K+E+L+M+N+S+(U×2)+8+(48×a)+(32×a)+(88×c)+(4×g)+(2156×k)+(24×t)+(1024×u)+(4×v)+(50×y)+(50×z)}
a:列数
b:抽象データ型の列数
c:コンストラクタ又は逆コンストラクタ関数のパラメタ数
d:コマンドライン及び制御情報ファイルに指定したファイルパス名の数
e:LOB中間ファイル指定数
f:列単位LOBファイル指定数
g:表格納RDエリア数
h:表の横分割条件数
i:インデクス数
j:インデクス格納RDエリア数
k:BLOB型の列数
m:プラグインインデクス数
n:LOB属性の抽象データ型を格納するユーザLOB用RDエリア数
p:プラグインが提供する関数の数
q:プラグイン提供関数のパラメタ数
r:データ型プラグイン数
s:インデクス型プラグイン数
t:表格納サーバ数
u:使用するコンストラクタ関数のパラメタのうちでBLOB型のパラメタ数
v:LOB列を格納するユーザLOB用RDエリア数
w:プラグインインデクスを格納するユーザLOB用RDエリア数
- y:BINARY型の列数
-
skipdata制御文で入力データ中の処理対象外としたBINARYデータの列数と,実際に表に定義されている列数の合計です。
- z:プラグイン提供関数のBINARY属性のパラメタ数
-
skipdata制御文で入力データ中の処理対象外としたプラグイン提供関数のBINARYデータの列数と,実際に表に定義されている列数の合計です。
A:コマンドライン上で指定したファイルサイズの合計
B:コマンドライン及び制御情報ファイルに指定したファイルパス名の長さの合計
- C:次に示す条件を満たす場合は(pd_utl_buff_size×1024+4096)×2,そのほかの場合は0
-
-
HiRDB/シングルサーバの場合
ユティリティ専用ユニットを使用している
-
HiRDB/パラレルサーバの場合
source文に指定したサーバ名と表格納RDエリアがあるバックエンドサーバ名が異なるpdloadコマンド実行時,又は-gオプションを指定したpdrorgコマンド実行時
-
- D:行長
-
表を構成する全列の定義長の合計です。ただし,BLOB型や抽象データ型は8バイトとします。BINARY型はpdloadの場合は定義長,pdrorgの場合はMIN(定義長,32500)バイトとします。また,FIX表以外は(a+1)×4を加算します。
- E:EasyMTのメモリ所要量
-
-fオプションにeasymtを指定した場合に加算します。
- F:550×1024+1024×1024+G
-
-iオプションにcを指定した場合に加算します。
G:256(32ビットモードの場合)又は512(64ビットモードの場合)
- H:一括入出力用ローカルバッファの指定値×RDエリアのページ長×J+ランダムアクセス用ローカルバッファの指定値×RDエリアのページ長
-
-nオプションを指定した場合に加算します。RDエリアのページ長が横分割したRDエリアごとに異なる場合,最大のページ長で計算してください。
- J:次に示す表から求めてください。
-
-nオプション
の指定値
表の分割種別
非分割表
キーレンジ
分割表
ハッシュ分割表
リバランスハッシュ
(HASHA〜HASHF)
非リバランスハッシュ
(HASH0〜HASH6,HASHZ)
FIXハッシュ
フレキシブルハッシュ
div指定あり
1
表のサーバ内横分割数
HiRDB/シングルサーバの場合:1024
HiRDB/パラレルサーバの場合:(↑1024÷g↑)×(該当サーバ内の表格納RDエリア数)
表のサーバ内横分割数
表のサーバ内横分割数
div指定なし
1
1
- K:パラメタ長
-
抽象データ型に格納する値を生成するコンストラクタ関数の引数の合計長です。ただし,BLOB型のパラメタは8バイトで計算します。
- L:次に示す条件をすべて満たす場合は1又は2の値を加算,そのほかの場合は0
-
-
source文にerrdataオペランドを指定
-
ユティリティ専用ユニットを使用している(HiRDB/シングルサーバの場合),又はsource文に指定したサーバ名と表格納RDエリアがあるバックエンドサーバ名が異なる(HiRDB/パラレルサーバの場合)
-
表に抽象データ型の列がある又はユニークインデクスを定義している
-
errworkオペランド指定時:errworkオペランドの指定値×1024
-
errworkオペランド省略時:pd_utl_buff_size×1024×3×t
-
- M:UOCのメモリ所要量
-
UOCを使用した場合に加算します。
- N:maxreclenオペランドを指定した場合に次に示す値を加算します。
-
- 入力データファイルが拡張DAT形式のとき:
-
maxreclenオペランド指定値×1024
- 入力データファイルがDAT形式のとき:
-
maxreclenオペランド指定値×1024×3
- 対象となる表がBINARY型の列を持ち,入力データファイルがバイナリ形式のとき:
-
次のどちらか小さい方を加算してください。
-
maxreclenオペランド指定値×1024
-
変数D(行長)
-
- 上記以外のとき:
-
0
- P:プラグインのメモリ所要量
-
プラグインが提供する抽象データ型の列がある場合に加算します。プラグインのメモリ所要量については,プラグインのマニュアルを参照してください。
コンストラクタ関数の引数がBLOB型又はBINARY型の場合は,1行に定義されている(全抽象データ型に格納する実際のパラメタ長×2)を加算します。
- Q:出力バッファ用メモリ所要量
-
インデクス作成方法にインデクス一括作成モード,又はインデクス情報出力モードを指定していて,次の条件を満たす場合,2メガバイトを加算します。
-
表分割数×インデクス定義数>プロセスのオープン数の上限-576
-
- S:(4×バッファ長+1.1)×1024
-
バッファ長は次の値になります(値は32キロバイト単位に切り上げてください)。
-
データベース作成ユティリティ(pdload)のoption文のfile_buff_sizeの指定値
-
上記の指定がない場合は1024
-
- T:圧縮列がある場合は,圧縮分割サイズ×2+RDエリアのページ長,圧縮列がない場合は0
-
圧縮分割サイズは,全圧縮列中の最大値で計算してください。また,表を横分割したRDエリアごとにページ長が異なるときは,ページ長の最大値で計算してください。
- U:入力ファイルの行長(単位:バイト)
-
DAT形式の場合:maxreclenオペランドの指定値×1024(maxreclenオペランドの指定がないときは32768)
固定長形式の場合:入力ファイルの行長
バイナリ形式の場合:0