RDBシステムの構成(ログ環境、データベース定義数、データベース容量など)で変動するメモリ量です。
RDBシステムの構成で変動するメモリ量の概算は、次の式で見積もってください。
RDBシステムの構成で変動するメモリ量
= ログ環境で変動するメモリ量
+ データベース構成で変動するメモリ量
ログ環境で変動するメモリ量
= Σロググループ単位のログインデックスの使用メモリ量
+ ロールバック用バッファ
ロググループ単位のログインデックスの使用メモリ量
= ブロック長 + 2
× BLK[248 × トランザクションエントリ数 + 304]
ロールバック用バッファ
= 100KB × min (トランザクションエントリ数 ÷ 2, 100)
データベース構成で変動するメモリ量
= RDBディクショナリのオブジェクト情報の使用メモリ量 ‥ (A)
+ RDBディレクトリファイル情報の使用メモリ量 ‥ (B) ロググループ単位のログインデックスの使用メモリ量の総和です。
ロググループ単位にログインデックスの使用メモリ量を求め、それらを合計します。
ロググループには以下があります。
システムロググループ(RDBシステム内に1つ存在するロググループ)
監査ログ用ロググループ(監査ログ制御機能を利用する場合に必要なロググループ)
ユーザロググループ(スケーラブルログ運用を行う場合に追加定義するロググループ)
テンポラリログファイル作成時に指定するブロック長です。
ブロック長は、rdblogコマンドのioオプションで指定します。ioオプションを省略する場合は512です。
参照
rdblogコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
当該ロググループのテンポラリログファイル作成時に指定するトランザクションエントリ数です。
テンポラリログファイルのブロック長バウンダリで括弧“[ ]”内を切り上げます。
列挙した引数のなかの最小値を表現します。
(A) RDBディクショナリのオブジェクト情報の使用メモリ量
RDBディクショナリのオブジェクト情報で使用するメモリ量です。
RDBディクショナリのオブジェクト情報の使用メモリ量の概算は、次の式で見積もってください。
RDBディクショナリのオブジェクト情報の使用メモリ量
= 基礎値(2.4MB)
+ オブジェクト管理情報の使用メモリ量 ‥ (1)
+ データベースのオブジェクト情報の使用メモリ量
+ スキーマのオブジェクト情報の使用メモリ量
+ 表のオブジェクト情報の使用メモリ量
+ ビュー表のオブジェクト情報の使用メモリ量
+ ルーチンのオブジェクト情報の使用メモリ量
+ スコープ適用利用者のオブジェクト情報の使用メモリ量
+ トリガのオブジェクト情報の使用メモリ量
+ 順序のオブジェクト情報の使用メモリ量
データベースのオブジェクト情報の使用メモリ量
= データベース数 × 4KB
スキーマのオブジェクト情報の使用メモリ量
= スキーマ数 × 4KB
表のオブジェクト情報の使用メモリ量
= Σ表単位のオブジェクト情報の使用メモリ量 ‥ (2)
ビュー表のオブジェクト情報の使用メモリ量
= Σビュー表単位のオブジェクト情報の使用メモリ量 ‥ (3)
ルーチンのオブジェクト情報の使用メモリ量
= Σルーチン単位のオブジェクト情報の使用メモリ量 ‥ (4)
スコープ適用利用者のオブジェクト情報の使用メモリ量
= Σスコープを適用する利用者単位のオブジェクト情報の使用メモリ量 ‥ (5)
トリガのオブジェクト情報の使用メモリ量
= トリガ数 × 4KB
順序のオブジェクト情報の使用メモリ量
= 順序数 × 12KB 定義するデータベースの数です。
定義するスキーマの数です。
表単位のオブジェクト情報の使用メモリ量の総和です。
定義する表単位にオブジェクト情報の使用メモリ量を求め、それらを合計します。
ビュー表単位のオブジェクト情報の使用メモリ量の総和です。
定義するビュー表単位にオブジェクト情報の使用メモリ量を求め、それらを合計します。
ルーチン単位のオブジェクト情報の使用メモリ量の総和です。
定義するルーチン単位にオブジェクト情報の使用メモリ量を求め、それらを合計します。
スコープを適用する利用者単位のオブジェクト情報の使用メモリ量の総和です。
定義するスコープを適用する利用者単位にオブジェクト情報の使用メモリ量を求め、それらを合計します。
定義するトリガの数です。
定義する順序の数です。
オブジェクト管理情報の使用メモリ量(概算)は、次の式で見積もってください。
オブジェクト管理情報の使用メモリ量
= データベース数 × 1024
+ スキーマ数 × 1024
+ 表数 × 10240
+ ビュー表数 × 1024
+ ルーチン数 × 1024
+ 表DSO数 × 1024
+ インデックスDSO数 × 1024
+ 表DSI数 × 512
+ インデックスDSI数 × 100
+ トリガ数 × 1024
+ 順序数 × 1024 定義するデータベースの数です。
定義するスキーマの数です。
定義する表の数です。
定義するビュー表の数です。
定義するルーチンの数です。
定義する表のDSOの数です。
定義するインデックスのDSOの数です。
定義する表のすべてのDSIの数です。
定義するインデックスのすべてのDSIの数です。
定義するトリガの数です。
定義する順序の数です。
表単位のオブジェクト情報の使用メモリ量(概算)は、次の式で見積もってください。
表単位のオブジェクト情報の使用メモリ量
= 4KB[10240 + DSO情報 + 表DSI情報
+ インデックスDSI情報 + デフォルト値情報 + XMLグループ情報 (注)]
+ 8KB
DSO情報
= (表DSO数 + インデックスDSO数)
× (1024 + 40 × 分割数)
表DSO数 = 1
表DSI情報
= Σ表DSI単位の情報
表DSI単位の情報
= 512 + Σ分割値に指定する定数単位のデータ長
インデックスDSI情報
= 512 × インデックスDSO数 × 分割数
デフォルト値情報
= ΣDEFAULT句を指定する列単位の情報
DEFAULT句を指定する列単位の情報 = 省略値のデータ長
XMLグループ情報
= ΣXMLグループ定義文の長さ
XMLグループ定義文の長さ = 4KB[XMLグループ定義文の長さ] 注) XMLアダプタを使用する場合のみ見積もってください。
4KB(4096バイト)バウンダリで括弧“[ ]”内を切り上げます。
当該表に定義するインデックスのDSO数です。
当該表の分割数(DSI分割数)です。
表DSI単位の情報量の総和です。
当該表の表DSI単位に情報量を求め、それらを合計します。
分割値に指定する定数単位のデータ長の総和です。
当該表DSIの分割値(CREATE DSI文のUSING句)に指定する定数単位にデータ長を求め、それらを合計します。
当該表DSIの分割値(CREATE DSI文のUSING句)に指定する定数のデータ長です。
定数のデータ長は、列のデータ型により異なります。
データ型が真数型、日時型、時間隔型の場合
定数のデータ長 = 20バイト固定
データ型が文字列型、各国語文字列型の場合
定数のデータ長 = 12バイト + 文字列の長さ(バイト)
文字列の長さは、定数で指定する文字の長さ(バイト)です。
文字列の前後の引用符(')やNは含みません。
文字列の長さが奇数の場合、偶数に切り上げます。
DEFAULT句を指定する列単位の情報量の総和です。
当該表のDEFAULT句を指定する列単位に情報量を求め、それらを合計します。
当該列のDEFAULT句で指定する省略値のデータ長です。
省略値のデータ長は、列のデータ型により異なります。
データ型が真数型、概数型、日時型、時間隔型の場合
省略値のデータ長 = 70バイト固定
データ型が文字列型、各国語文字列型の場合
省略値のデータ長 = 16バイト + 文字列の長さ(バイト) × 2
当該XMLグループ定義文(CREATE XMLGROUP文)の長さ(バイト)です。
ビュー表単位のオブジェクト情報の使用メモリ量(概算)は、次の式で見積もってください。
ビュー表単位のオブジェクト情報の使用メモリ量
= 4KB[ 4096 + ビュー表定義文の長さ ]
+ 8KB 4KB(4096バイト)バウンダリで括弧“[ ]”内を切り上げます。
当該ビュー表の定義文(CREATE VIEW文)の長さ(バイト)です。
ルーチン単位のオブジェクト情報の使用メモリ量(概算)は、次の式で見積もってください。
ルーチン単位のオブジェクト情報の使用メモリ量
= 4KB[ 3172 + ルーチン定義文の長さ ]
+ 8KB 4KB(4096バイト)バウンダリで括弧“[ ]”内を切り上げます。
当該ルーチンの定義文(CREATE PROCEDURE文およびCREATE FUNCTION文)の長さ(バイト)です。
(5) スコープを適用する利用者単位のオブジェクト情報の使用メモリ量
スコープを適用する利用者単位のオブジェクト情報の使用メモリ量(概算)は、次の式で見積もってください。
スコープを適用する利用者単位のオブジェクト情報の使用メモリ量
= 8KB固定 RDBディレクトリファイル情報で使用するメモリ量は、次の式で見積もってください。
RDBディレクトリファイル情報の使用メモリ量
= RDBディクショナリ用のRDBディレクトリファイル情報の使用メモリ量 ‥ (1)
+ ユーザデータベース用のRDBディレクトリファイル情報の使用メモリ量 ‥ (2)
+ メモリ管理情報の使用メモリ量 ‥ (3)
+ DSI動的切離し情報の使用メモリ量 ‥ (4)
+ プレオープン情報の使用メモリ量 (注) ‥ (5)注) SafeCLUSTERと連携したフェイルオーバ運用の場合のみ見積もってください。
(1) RDBディクショナリ用のRDBディレクトリファイル情報の使用メモリ量
RDBディクショナリ用RDBディレクトリファイル情報の使用メモリ量は、次のようになります。
RDBディクショナリ用のRDBディレクトリファイル情報の使用メモリ量
= 1 (メガバイト) (2) ユーザデータベース用のRDBディレクトリファイル情報の使用メモリ量
ユーザデータベース用のRDBディレクトリファイル情報の使用メモリ量は、次の式で見積もってください。割り算の結果の小数点以下は、整数に切り上げます。
ユーザデータベース用のRDBディレクトリファイル情報の使用メモリ量
= (4 (メガバイト)
+ データベース数 × 2.1
+ データベーススペース数 × 1.1
+ (SEQUENTIAL構造またはOBJECT構造のDSI数) × 1.4
+ (RANDOM構造、BTREE構造またはXML構造のDSI数) × 1.6
+ ページ管理域) ÷ 256
+ (XML検索パス情報域) ÷ 256
ページ管理域 = (ΣDSI単位のページ数) ÷ 8704
DSI単位のページ数 = Σ (スペース割付け量 ÷ ページ長)
XML検索パス情報域 = Σ (XML構造DSI単位のXML検索パス数) ÷ 80 (注)注) XMLアダプタを使用する場合のみ見積もってください。
定義するすべてのデータベースの数です。
定義するすべてのデータベーススペースの数です。
定義するすべてのDSIの数です。
ページ管理域の計算(割り算)結果の小数点以下は、整数に切り上げます。さらに、ページ管理域の計算(割り算)結果が、定義する全DSI数未満の場合は、DSI数に切り上げます。
定義するDSI単位にページ数を求め、それらを合計した値です。
各ページ長に対する割付け量から算出したページ数を合計した値です。格納構造により次のように算出します。なお、単位はすべてキロバイトです。
“DATA部の割付け量 ÷ ページ長”の値です。
“PRIME部の割付け量 ÷ ページ長”と“OVERFLOW部の割付け量 ÷ ページ長”を足した値です。
“INDEX部の割付け量 ÷ ページ長”と“BASE部の割付け量 ÷ ページ長”を足した値です。
XML検索パス情報域の計算(割り算)結果の小数点以下は、整数に切り上げます。
さらに、XML検索パス情報域の計算(割り算)結果が、定義した全XML構造のDSI数未満の場合は、XML構造のDSI数に切り上げます。
定義するXML構造のDSI単位にXML検索パス数を求め、それらを合計した値です。
DSIの属するDSO定義に登録された、すべてのXMLグループ内に登録したXML検索パス数の合計値です。
メモリ管理情報の使用メモリ量は、次の式で見積もってください。
割り算の結果の小数点以下は、整数に切り上げます。
メモリ上管理情報の使用メモリ量(メガバイト)
= (7.3 + データベース数 × 0.1
+ データベーススペース数 ×0.1
+ (SEQUENTIAL構造またはOBJECT構造のDSI数) × 3.1
+ (RANDOM構造、BTREE構造またはXML構造のDSI数) × 4.1
+ ユーザロググループ数 × 0.2)÷ 256
+ ローデバイス制御情報の使用メモリ量 (注)
ローデバイス制御情報の使用メモリ量(メガバイト)
=(1+ユーザロググループ数)
×1.1+バッファ領域の使用メモリ量
バッファ領域の使用メモリ量(メガバイト)
= (2)のメモリ量が16メガバイト以下の場合:(2)の値
(2)のメモリ量が16メガバイト以上の場合:16メガバイト注) RDBディレクトリファイルをローデバイスに配置する場合のみ見積もってください。
定義するすべてのデータベースの数です。
定義するすべてのデータベーススペースの数です。
定義するすべてのDSIの数です。
スケーラブルディレクトリ運用を行わない場合は、ユーザロググループ数は0です。
スケーラブルディレクトリ運用を行う場合は、追加定義するユーザロググループの数です。
RDBディレクトリファイルをローデバイスに配置している場合(RDB構成パラメタファイルにRDBDIRSPACEを指定)、ローデバイス制御情報のメモリ量を追加します。RDBディレクトリファイルをNTFSボリュームに配置している場合は、メモリ量は0です。
RDBディレクトリファイルをローデバイスに配置している場合、RDBシステムはバッファ領域を介してローデバイス上のRDBディレクトリファイルを参照および更新しています。
バッファ領域の使用メモリ量は、“(2) ユーザデータベース用のRDBディレクトリファイル情報の使用メモリ量”によって変わります。
バッファ領域は16メガバイト固定となります。
バッファ領域は(2)のメモリ量となります。
rdbexdsiコマンドでSQL処理対象とするDSIを動的に除外する場合に使用するメモリ量を見積もります。
参照
rdbexdsiコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
割り算の結果の小数点以下は、整数に切り上げます。
DSI動的切り離し情報の使用メモリ量(キロバイト)
= (ユーザID数 ÷ 40 + Σ (ユーザID単位の処理対象外DSI数) ÷330)
× 2rdbexdsiコマンドのuオプションで指定するユーザIDの数です。
rdbexdsiコマンドで指定するSQL処理の対象から除外する表のDSIの数をuオプションで指定したユーザID単位に足した値です。
rdbhsutyコマンドでプレオープンするDSIを指定したホットスタンバイ宣言をする場合に使用するメモリ量を見積もります。プレオープン指定でフェイルオーバを使用しない場合は、メモリ量は0です。
参照
rdbhsutyコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
割り算の結果の小数点以下は、整数に切り上げます。
プレオープン情報の使用メモリ量(キロバイト)
= 1 +(プレオープン対象DSI数
+ プレオープン対象データベーススペース数)÷ 30
+(プレオープン対象DSI数 ÷ 242)× 2プレオープンの対象とするDSIの数です。(当該RDBシステム配下に定義する表DSIとインデックスDSIが対象)
プレオープンの対象とするDSIの割り付け先データベーススペースの数です。(当該RDBシステム配下に定義するデータベーススペースが対象)