Hitachi

ノンストップデータベース HiRDB Version 9 システム導入・設計ガイド(Windows(R)用)


19.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ビットモードの場合は14272です。

注※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ビットモードの場合は4660です。

注※4

64ビットモードの場合は15830です。

注※5

64ビットモードの場合は11804です。

注※6

圧縮分割サイズは,全圧縮列中の最大値で計算してください。

注※7

BINARY列の場合に使用するバッファ長は,次の値を使用してください。

  • 占有モードの場合

     m

    (Σ(定義長i)

     i=1

     n

    +Σ(定義長i×9))×移動先BES数

     i=1

    m:圧縮指定を指定していないBINARY列の数

    n:圧縮指定を指定しているBINARY列の数

  • 共用モードの場合

    n

    Σ(定義長i)×移動先BES数

    i=1

    n:BINARY列数