• 検索結果がありません。

RDB コマンド実行時の作業用領域についての留意点

ドキュメント内 Symfoware Server べからず集 (ページ 42-48)

1. 見積りを怠るべからず

1.15. RDB コマンド実行時の作業用領域についての留意点

Symfoware Server べからず集

Symfoware Server べからず集

 作業用領域の見積り

 rdbsaloaderの-sオプションに指定する作業用領域の見積り

作業用領域 = Size1

Size1 : rdbsaloaderの対象の表DSIに属するインデックスDSIのソート作業域の最 大サイズ

上記のSize1の算出に使用する、インデックスDSIのソート作業域のサイズ見積りは、

以下のとおりです。

インデックス DSI のソート作業域サイズ = (インデックスを構成する列の合計長 ×

2 + 26) × (入力ファイル中のレコード件数 + 表の DSI に格納済みのレコード件

数)

[注意]

- インデックスを構成する列のデータ型が CHARACTER(VARYING 含む)または NATIONAL CHARACTER(VARYING含む)の場合、その列の長さを1.5倍にして合計長 を計算します

- 本見積り式は、インデックスが BTREE 構造の場合です。XML 構造の場合は、

"Symfoware Server セットアップガイド"の"作業域の見積り"を参照してくださ い

Symfoware Server べからず集

 rdbsloaderの-sオプションに指定する作業用領域の見積り

・-iオプションを指定し、かつ-hオプションを指定しない場合 作業用領域 = max(Size1 , Size2)

Size1 : rdbsloaderの対象の表DSIのソート作業域のサイズ

Size2 : 上記の表DSIに属するインデックスDSIのソート作業域の最大サイズ

・-iオプションを指定し、かつ-hオプションを指定した場合 作業用領域 = Size3 + Size4

Size3 : rdbsloaderの対象の表DSIのソート作業域のサイズ

Size4 : 上記の表DSIに属するインデックスDSIのソート作業域の合計サイズ

・-vオプションを指定し、かつ-hオプションを指定しない場合 作業用領域 = max(Size5 , Size6)

Size5 : rdbsloaderの対象のすべての表DSIのソート作業域の合計サイズ

Size6 : 上記のすべての表DSIに属するインデックスDSIのソート作業域の最大サイズを合

計したサイズ

・-vオプションを指定し、かつ-hオプションを指定した場合 作業用領域 = Size7 + Size8

Size7 : rdbsloaderの対象の表DSIのソート作業域の合計サイズ

Size8 : 上記のすべての表DSIに属するインデックスDSIのソート作業域の合計サイズ

上記のSize1、Size3、Size5またはSize7の算出に使用する、表DSIのソート作業域サイズの見 積りは、以下のとおりです。

・SEQUENTIALかつ-kオプション指定なしの場合 ソート作業域サイズ = 0

・SEQUENTIALかつ-kオプション指定ありの場合

ソート作業域サイズ = (Size9 + 28 + Size10 × 2) × 入力ファイル中のレコード件数 + Size11 ÷ 32 ÷ 1024 × 16

Size9 : 表を構成する列の長さの合計長

Size10 : PRIMARY KEYに対応するインデックスを構成する列の合計長 Size11 : 入力ファイルのサイズ

・ RANDOMの場合

ソート作業域サイズ = (Size12 + 36 + Size13 × 2) × 入力ファイル中のレコード件数

+ Size14 ÷ 32 ÷ 1024 × 16 Size12 : 表を構成する列の合計長

Size13 : クラスタキーを構成する列の合計長 Size14 : 入力ファイルのサイズ

・OBJECTの場合

Symfoware Server べからず集

 rdbsuloaderの-sオプションに指定する作業用領域の見積り

・-hオプションを指定しない場合 作業用領域サイズ = Size1

Size1 : rdbsuloaderの対象の表DSIに属するインデックスDSIのソート作業域の最大サイズ

・-hオプションを指定する場合 作業用領域サイズ = Size2

Size2 : rdbsuloaderの対象の表DSIに属するインデックスDSIのソート作業域の合計サイズ

上記のSize1およびSize2の算出に使用する、インデックスDSIのソート作業域サイズの見積り

は、以下のとおりです。

インデックスDSIのソート作業域サイズ = (Size3 × 2 + 26) × 入力ファイル内のレコー ド件数

Size3 : インデックスを構成する列の合計長 [注意]

上記のうちSize3において、インデックスを構成する列のデータ型がCHARACTER(VARYING含む) またはNATIONAL CHARACTER(VARYING含む)の場合、その列の長さを1.5倍にします。

上記のSize2、Size4、Size6またはSize8の算出に使用する、インデックスDSIのソート作業域 サイズの見積りは、以下のとおりです。

・表のDSIがSEQUENTIALまたはOBJECTの場合

ソート作業域サイズ = (Size15 × 2 + 14) × 入力ファイル中のレコード件数 Size15 : インデックスを構成する列の合計長

・表のDSIがRANDOMであり、かつインデックスの構成列が一意性制約に対応する場合

ソート作業域サイズ = (Size16 × 2 + Size17) ×入力ファイル中の レコード件数 Size16 : インデックスを構成する列の合計長

Size17 : クラスタキーを構成する列の合計長

・表のDSIがRANDOMであり、かつインデックスの構成列が一意性制約に対応しない場合

ソート作業域サイズ = (Size18 × 2 + Size19 × 2) × 入力ファイル中のレコード件数 Size18 : インデックスを構成する列の合計長

Size19 : クラスタキーを構成する列の合計長

[注意]

上記のうち Size15、Size16 および Size18 において、インデックスを構成する列のデータ型が CHARACTER(VARYING含む)またはNATIONAL CHARACTER(VARYING含む)の場合、その列の長さは1.5 倍にして合計長を計算します。

Symfoware Server べからず集

 rdbsuloaderの-wオプションに指定する作業用領域の見積り

 rdbupsの-sオプションに指定する作業用領域の見積り

[備考]

以下の場合、作業用領域は使用しません。

・ -cオプションを指定した場合

・-iオプションにインデックスDSI名を指定した場合

作業用領域サイズ = 指定したインデックスDSIのソート作業域サイズ

・-gオプションにインデックスDSO名を指定した場合

作業用領域サイズ = 指定したインデックスDSO配下のすべてのインデックスDSIのソート作

業域の最大サイズ

・-tオプションに指定した表にインデックスが1つ以上ある場合

作業用領域サイズ = 指定した表配下のすべてのインデックス DSI のソート作業域の最大サイ

上記のインデックスDSIのソート作業域サイズの見積りは、以下のとおりです。

インデックスDSIのソート作業域サイズ = (Size1 * 2) * 入力ファイル内のレコード件数 Size1 : インデックスを構成する列の合計長

[注意]

イ ン デ ッ ク ス を 構 成 す る 列 の デ ー タ 型 が CHARACTER(VARYING 含 む)ま た は NATIONAL CHARACTER(VARYING含む)の場合、その列の長さを1.5倍にします。

作業用領域 = Size1 + Size2

Size1 : -wfオプション指定時に使用するソート作業域サイズ

Size2 : -wdオプション指定時に使用するソート作業域サイズ

上記のSize1の算出に使用する、ソート作業域サイズの見積りは、以下のとおりです。

ソート作業域サイズ = (Size3 * 2 + 16 + Size4) * 入力レコード件数 Size3 : -mオプションで指定した列の合計長

Size4 : 表を構成する列の合計長

上記のSize2の算出に使用する、ソート作業域サイズの見積りは、以下のとおりです。

ソート作業域サイズ = (Size5 * 2 + 16 + Size6) * DSI内レコード件数 Size5 : -mオプションで指定した列の合計長

Size6 : 表を構成する列の合計長

Symfoware Server べからず集

・ -tオプションに指定した表にインデックスが1つもない場合

【補足】

RDBコマンド実行中は作業用ディレクトリ配下に"SYMFORDBCxxxxx"ファイルが作成さ

れます。(xxxxxは、Symfowareがランダムに割り当てる半角英数字)

データ量およびキー列の内容によって作成個数は変わります。このファイルは、RDB コマ ンド終了時に削除されるため、利用者は削除しないでください。

1.15.2. 未対処時の影響 (1) 現象分類

機能の異常/処理結果異常 (2) 現象/原因

【現象】

以下のRDB コマンドを実行すると、「qdg03023u 作業用ディレクトリ'xxx'の容量 が不足しています。」のメッセージを出力してRDBコマンドの実行が失敗します。

・ rdbsaloaderコマンド

・ rdbsloaderコマンド

・ rdbsuloaderコマンド

・ rdbupsコマンド

また、Solaris/Linuxでは、上記のRDBコマンドを実行時に作業用領域を指定して

いない場合、OSのメモリ不足によりRDBコマンドの実行が失敗することがありま す。

【原因】

RDBコマンド実行中に必要な作業用領域が不足したためです。

1.15.3. 備考

 Symfoware Server セットアップガイド I.9 作業域の見積り

Symfoware Server べからず集

ドキュメント内 Symfoware Server べからず集 (ページ 42-48)

Outline

関連したドキュメント