ページの先頭行へ戻る
Symfoware Server V10.0.0 コマンドリファレンス

2.27 rdbgcdsi

名前

rdbgcdsi - 指定されたDSIの再編成

形式(DSIの再編成)

rdbgcdsi -G  -i データベース名.DSI名
         -w  作業用ディレクトリパス名
             [ {:作業用ディレクトリパス名}...]
         -u  中間退避ファイル格納先ディレクトリパス名
             [{:中間退避ファイル格納先ディレクトリパス名}...]
       [ -f  インデックス指定時の空き率]
       [ -k  再編成制御ファイル格納先ディレクトリパス名]

形式(DSIの拡張と再編成)

rdbgcdsi -E -i  データベース名.DSI名
         {{ -p  割付け要素種別,
            データベース名.データベーススペース名,
            割付け量}... | -c }
         -w  作業用ディレクトリパス名
             [ {:作業用ディレクトリパス名}...]
         -u  中間退避ファイル格納先ディレクトリパス名
             [ {:中間退避ファイル格納先ディレクトリパス名}...]
       [ -f  インデックス指定時の空き率]
       [ -k  再編成制御ファイル格納先ディレクトリパス名]

形式(失敗時の再実行)

rdbgcdsi -R  -i データベース名.DSI名
           [ -f インデックス指定時の空き率 ]
          [{ -p 割付け要素種別,
                データベース名.データベーススペース名,
                割付け量}...]
           [ -w 作業用ディレクトリパス名
           [ {:作業用ディレクトリパス名}...]]
           [ -k  再編成制御ファイル格納先ディレクトリパス名]

機能説明

DSIの再編成を行います。
また、DSIの容量を拡張します。

オプション

-G

対象資源の再編成を行います。(Garbage collectionモード)

-E

対象資源の拡張後、再編成を行います。(Expandモード)

-i データベース名.DSI名

再編成を行うDSI名を指定します。
なお、格納構造がOBJECTである表のDSIおよび関連するインデックスのDSIは指定することができません。

-f インデックス指定時の空き率

再編成対象がインデックスのDSIである場合は、格納スペースの空き率を百分率で指定します。
0から100までの値が指定できます。

-w 作業用ディレクトリパス名[{:作業用ディレクトリパス名}...]

作業用ファイルを格納するためのディレクトリのパス名を指定します。
作業用ディレクトリパス名に指定できる長さは、228バイトまでです。パス名を相対パスで指定した場合は、絶対パスに変換したときの長さが228バイト以内でなければなりません。
作業用領域として必要な容量の見積りを以下に示します。

表のDSI指定の場合は以下のサイズを見積もります。

SEQUENTIALの場合

表に定義されているすべてのインデックスのDSIのうちソート作業域のサイズが最大のもののサイズで見積もります。
表にインデックスが定義されていない場合は作業用領域を使用しません。

ソート作業域のサイズ = (Size1 * 2 + 14) * レコード件数
Size1 : インデックスを構成する列の長さの合計サイズ

RANDOMの場合

表データのソート作業域のサイズで見積もります。

ソート作業域のサイズ = (Size2 + 36 + Size3 * 2) * レコード件数 + Size4 / 32 / 1024 * 16
Size2 : 表を構成する列の長さの合計サイズ
Size3 : クラスタキーを構成する列の長さの合計サイズ
Size4 : 表のDSIのサイズ

インデックスのDSI指定の場合は以下のサイズを見積もります。

BTREEで表のDSIがSEQUENTIALの場合

ソート作業域のサイズ = (Size5 * 2 + 14) * レコード件数
Size5 : インデックスを構成する列の長さの合計サイズ

BTREEで表のDSIがRANDOMでインデックスを構成する列が一意性制約に対応している場合

ソート作業域のサイズ = (Size6 * 2 + Size7) * レコード件数
Size6 : インデックスを構成する列の長さの合計サイズ
Size7 : クラスタキーを構成する列の長さの合計サイズ

BTREEで表のDSIがRANDOMでインデックスを構成する列が一意性制約に対応しない場合

ソート作業域のサイズ = (Size8 * 2 + Size9 * 2) * レコード件数
Size8 : インデックスを構成する列の長さの合計サイズ
Size9 : クラスタキーを構成する列の長さの合計サイズ

XMLの場合

作業用領域は使用しません。

上記のうちSize1、Size3、Size5、Size6、Size7、Size8およびSize9において、さらに以下の見積りが必要です。

列のデータ型がCHARACTER(VARYING含む)またはNATIONAL CHARACTER(VARYING含む)の場合、その列の長さを1.5倍にします。

-p 割付け要素種別,データベース名.データベーススペース名,割付け量

-pオプションには常に以下の3つを指定します。

割付け要素種別

領域拡張を行うDSI割付け要素名を指定します。
PRIME:対象が表のDSIで格納構造がRANDOMのプライム部の場合に指定します。
OVERFLOW:対象が表のDSIで格納構造がRANDOMのオーバフロー部の場合に指定します。
DATA:対象が表のDSIで格納構造がSEQUENTIALの場合に指定します。
BASE:対象がインデックスのDSIでベース部の場合に指定します。
INDEX:対象がインデックスのDSIでインデックス部の場合に指定します。

データベース名.データベーススペース名

拡張先のデータベーススペース名を指定します。
データベーススペースは、すでに獲得済である必要があります。
なお、1つの割付け要素を複数のデータベーススペースに割り付けるには、その割付け要素種別を指定した-pオプションを、割り付けるデータベーススペースの数だけ指定します。
スケーラブルログ運用を行っている場合、データベーススペースは処理対象のDSIを割り付けたデータベーススペースと同一のロググループでなければなりません。
また、データベーススペース名を複数指定する場合は、同一ロググループのデータベーススペースでなければなりません。

割付け量

当該DSIに割付ける量をK(キロ)あるいはM(メガ)単位で指定します。
指定できる値は、2097151K以下または2047M以下です。

-c

自動容量拡張またはDSI変更文で拡張された領域をいったんすべて返却した後、再編成します。
このとき、容量不足となった場合は、必要な容量だけrdbalmdsiコマンドの指示に従って自動容量拡張を実施します。

-u 中間退避ファイル格納先ディレクトリパス名

中間退避ファイル格納先パス名を指定します。中間退避ファイルには指定されたDSIの内容を一時的に格納します。
中間退避ファイル格納先ディレクトリパス名に指定できる長さは、128バイトまでです。パス名を相対パスで指定した場合は、絶対パスに変換したときの長さが128バイト以内でなければなりません。
中間退避ファイル格納領域として必要な容量の見積りを以下に示します。

表のDSI指定の場合

中間退避ファイル格納領域 = 表のDSIのサイズ

インデックスのDSI指定の場合

XMLの場合に以下の値で見積もります。BTREEの場合は不要です。

中間退避ファイル格納領域 = インデックスのDSIのサイズ

-k 再編成制御ファイル格納先ディレクトリパス名

再編成制御ファイル格納先パス名を指定します。
再編成制御ファイルには、再編成処理の制御情報を一時的に格納します。
スタンバイ機能またはホットスタンバイ機能を利用した運用を行っているときに本コマンドを実行する場合は、本オプションを必ず指定してください。
また、ディレクトリパス名には、切替えディスクを指定してください。
再編成制御ファイル格納先ディレクトリパス名に指定できる長さは、128バイトまでです。パス名を相対パスで指定した場合は、絶対パスに変換したときの長さが128バイト以内でなければなりません。

-R

再編成処理に失敗した場合の再実行要求が行われます。

使用例

例1

在庫管理DBに属する在庫表DSIの再編成を行います。

rdbgcdsi -G -i 在庫管理DB.在庫表DSI
         -w /home/rdb1/work
         -u /home/testdir
例2

在庫管理DBに属する在庫表DSIの拡張と再編成を行います。

rdbgcdsi -E -i 在庫管理DB.在庫表DSI
         -p DATA,在庫管理DB.DBSP_1,10M 
         -w /home/rdb1/work 
         -u /home/testdir

終了ステータス

以下の終了ステータスが返されます。

0 : 正常終了
0以外 : 異常終了

注意