18.2.13 リバランスユティリティ(pdrbal)実行時のメモリ所要量
リバランスユティリティ(pdrbal)実行時のメモリ所要量は,次に示す計算式で求めます。
- 〈この項の構成〉
(1) HiRDB/シングルサーバの場合
メモリ所要量の計算式(単位:キロバイト) |
---|
8756※3+536+0.02×列数+0.2×移動先RDエリア数 +1.7×移動元RDエリア数+0.26×移動先RDエリア数×インデクス数 +(0.09+↑平均index文ファイル長÷1024↑)×index文数 +(0.02+↑平均ディレクトリ長÷1024↑)×(idxwork文数+sort文数) +↑(制御情報ファイル長+実行結果ファイル長)÷1024↑ +0.05×列数+0.05×RDエリア数+0.15×インデクス数 +0.05×インデクス格納RDエリア数 +550×1024+ソートワークサイズ※1 ●-nオプションを指定した場合 +RDエリアのページ長※2×一括入出力バッファ面数×y ●対象表にLOB列がある場合 +64+0.01×LOB列数+0.18×移動先RDエリア数 +0.09×移動元RDエリア数+0.08×LOB格納RDエリア数 ●対象表にBINARY列がある場合 +33×(BINARY列数×移動先RDエリア数×移動元RDエリア数) +BINARY列の場合に使用するバッファ長※5 ●対象表にプラグインが提供する抽象データ型がある場合 +40+(0.27+2×抽象データ型長)×抽象データ型の列数 +0.3×unld_func指定数 +(128+0.11×LOB属性数+0.1×unld_func指定関数数 +0.07×抽象データ型属性数)×抽象データ型の列数 +(33×BINARY属性数×移動先RDエリア数×移動元RDエリア数)×2 +0.01×プラグインインデクス数+0.19×unld_func文数 +(↑平均unld_func文長÷1024↑×unld_func文数) +(↑平均reld_func文長÷1024↑×reld_func文数) +抽象データ型列数×1+(LOB属性数×0.05)×RDエリア数 +データ型プラグイン数×10+プラグインインデクス数×10 +プラグインのメモリ所要量 ●インデクス作成方法に,インデクス一括作成モード又はインデクス情報出力モードを指定していて,次の条件を満たす場合 ・表分割数×インデクス定義数>プロセスのオープン数の上限-576 +2048 ●圧縮列がある場合 +圧縮分割サイズ※4×z+RDエリアのページ長※2 |
- y:次に示すどちらかの値を代入してください。
-
-
FIXハッシュ分割表にリバランス機能を使用した場合
(↑1024÷表全体の格納RDエリア数↑)×該当サーバ内の表格納RDエリア数
-
そのほかの場合
1
-
- z:次に示すどちらかの値を代入してください。
-
-
占有モード(-k exclusive)の場合:2
-
共有モード(-k share)の場合:1
-
- 注※1
-
インデクスの一括作成時(-i c又は省略)に加算します。
- 注※2
-
表を横分割したRDエリアごとにページ長が異なる場合は,ページ長の最大値で計算してください。
- 注※3
-
64ビットモードの場合は9764です。
- 注※4
-
圧縮分割サイズは,全圧縮列中の最大値で計算してください。
- 注※5
-
BINARY列の場合に使用するバッファ長は,次の値を使用してください。
-
占有モードの場合
0
-
共用モードの場合
n
Σ(定義長i)
i=1
n:BINARY列数
-
(2) HiRDB/パラレルサーバの場合
条件 |
メモリ所要量の計算式(単位:キロバイト) |
---|---|
MGR |
1498※3+2+0.05×列数+0.05×RDエリア数+0.15×インデクス数 +0.05×インデクス格納RDエリア数 +(0.09+↑平均index文ファイル長÷1024↑)×index文数 +(0.02+↑平均ディレクトリ長÷1024↑)×(idxwork文数+sort文数) +↑(制御情報ファイル長+実行結果ファイル長)÷1024↑ ●対象表にLOB列がある場合 +0.08×LOB格納RDエリア数 ●対象表にプラグインが提供する抽象データ型がある場合 +0.19×unld_func文数 +(↑平均unld_func文長÷1024↑×unld_func文数) +(↑平均reld_func文長÷1024↑×reld_func文数) |
DS |
1455※4+32+0.33×移動先BES数+0.3×移動元BES数 +0.2×移動先RDエリア数+0.22×移動元RDエリア数+0.34×FES数 +(0.09+↑平均index文ファイル長÷1024↑)×index文数 +(0.02+↑平均ディレクトリ長÷1024↑)×(idxwork文数+sort文数)+0.05×列数+0.05×RDエリア数+0.15×インデクス数 +0.05×インデクス格納RDエリア数 ●対象表にLOB列がある場合 +0.08×LOB格納RDエリア数 ●対象表にBINARY列がある場合 +33×(BINARY列数×移動先RDエリア数×移動元RDエリア数) ●対象表にプラグインが提供する抽象データ型がある場合 +0.01×移動先BES数+0.19×unld_func文数 +(↑平均unld_func文長÷1024↑×unld_func文数) +(↑平均reld_func文長÷1024↑×reld_func文数) +抽象データ型列数×1+(LOB属性数×0.05)×RDエリア数 +データ型プラグイン数×10+プラグインインデクス数×10 |
BES |
6601※5+50+(517+0.01×列数)×移動先BES数 +(33+0.01×列数)×移動元BES数+0.2×移動先RDエリア数 +1.7×移動元RDエリア数+0.01×列数 +0.26×移動先RDエリア数×インデクス数 +(0.09+↑平均index文ファイル長÷1024↑)×index文数 +(0.02+↑平均ディレクトリ長÷1024↑)×(idxwork文数+sort文数) +0.05×列数+0.05×RDエリア数+0.15×インデクス数 +0.05×インデクス格納RDエリア数 +550×1024+ソートワークサイズ※1 ●-nオプションを指定した場合 +RDエリアのページ長※2×一括入出力バッファ面数×y ●対象表にLOB列がある場合 +32+0.01×LOB列数+(32+0.01×LOB列数)×移動先BES数 +0.18×移動先RDエリア数+0.1×移動元RDエリア数 +0.08×LOB格納RDエリア数 ●対象表にBINARY列がある場合 +33×(BINARY列数×移動先RDエリア数×移動元RDエリア数) +BINARY列の場合に使用するバッファ長※7 ●対象表にプラグインが提供する抽象データ型がある場合 +40+(0.27+2×抽象データ型長)×抽象データ型の列数 +0.3×unld_func指定数 +{(64+0.05×LOB属性数)×抽象データ型列数}×移動先BES数 +{(64+0.01×unld_func指定関数数+0.07×抽象データ型属性数 +0.05×LOB属性数)×抽象データ型列数}×移動元BES数 +(33×BINARY属性数×移動先RDエリア数×移動元RDエリア数)×2 + 0.01×プラグインインデクス数+0.19×unld_func文数 +(↑平均unld_func文長÷1024↑×unld_func文数) +(↑平均reld_func文長÷1024↑×reld_func文数) +抽象データ型列数×1+(LOB属性数×0.05)×RDエリア数 +データ型プラグイン数×10+プラグインインデクス数×10 +プラグインのメモリ所要量 ●インデクス作成方法に,インデクス一括作成モード又はインデクス情報出力モードを指定していて,次の条件を満たす場合 ・表分割数×インデクス定義数>プロセスのオープン数の上限-576 +2048 ●圧縮列がある場合 +圧縮分割サイズ※6×z+RDエリアのページ長※2 |
- y:次に示すどちらかの値を代入してください。
-
-
FIXハッシュ分割表にリバランス機能を使用した場合
(↑1024÷表全体の格納RDエリア数↑)×該当サーバ内の表格納RDエリア数
-
そのほかの場合
1
-
- z:次に示すどちらかの値を代入してください。
-
-
占有モード(-k exclusive)の場合:2
-
共有モード(-k share)の場合:1
-
- 注※1
-
インデクスの一括作成時(-i c又は省略)に加算します。
- 注※2
-
表を横分割したRDエリアごとにページ長が異なる場合は,ページ長の最大値で計算してください。
- 注※3
-
64ビットモードの場合は1790です。
- 注※4
-
64ビットモードの場合は1671です。
- 注※5
-
64ビットモードの場合は6908です。
- 注※6
-
圧縮分割サイズは,全圧縮列中の最大値で計算してください。
- 注※7
-
BINARY列の場合に使用するバッファ長は,次の値を使用してください。
-
占有モードの場合
m
(Σ(定義長i)
i=1
n
+Σ(定義長i×9))×移動先BES数
i=1
m:圧縮指定を指定していないBINARY列の数
n:圧縮指定を指定しているBINARY列の数
-
共用モードの場合
n
Σ(定義長i)×移動先BES数
i=1
n:BINARY列数
-