3.3.12 phxcond(インデクス詰め替えユティリティ)
(1) 機能
不要なインデクスを削除します。
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
phxcond -d インデクス識別子 -r RDエリア名 [ -l ログ取得方式] [ -t 詰め替え時間] [-q 世代番号]
(4) コマンド引数
- -d インデクス識別子
-
詰め替え対象となるインデクス識別子を指定します。
必ずインデクス作成時に指定したインデクス識別子を指定してください。
- UNIXの場合
-
インデクス識別子を"(ダブルクォーテーション)で囲んだ場合は,英大文字と英小文字が区別されます。"で囲まない場合はすべて大文字として扱われます。また,インデクス識別子にスペースが含まれる場合は,"で囲む必要があります。なお,sh,cshおよびkshの場合は,さらに '(アポストロフィ)で囲む必要があります。
- Windowsの場合
-
インデクス識別子を\"で囲んだ場合は,英大文字と英小文字が区別されます。\"で囲まない場合はすべて大文字として扱われます。また,インデクス識別子にスペースが含まれる場合は,"で囲む必要があります。
- -r RDエリア名
-
指定されたインデクスがあるRDエリア名を指定します。
- UNIXの場合
-
RDエリア名を"(ダブルクォーテーション)で囲んだ場合は,英大文字と英小文字が区別されます。"で囲まない場合はすべて大文字として扱われます。また,RDエリア名にスペースが含まれる場合は,"で囲む必要があります。なお,sh,cshおよびkshの場合は,さらに '(アポストロフィ)で囲む必要があります。
- Windowsの場合
-
RDエリア名を\"で囲んだ場合は,英大文字と英小文字が区別されます。\"で囲まない場合はすべて大文字として扱われます。また,RDエリア名にスペースが含まれる場合は,"で囲む必要があります。
- -l ログ取得方式
-
インデクス詰め替え処理でのログ取得方式を指定します。省略時は,"p"が設定されます。
- a:
-
ログ取得モードで実行します。
ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。インデクスのバックアップを取得する必要はありません。
- p:
-
更新前ログ取得モードで実行します。
ロールバックに必要なデータベース更新ログを取得します。インデクス詰め替え処理後,バックアップを取得する必要があります。
- n:
-
ログレスモードで実行します。
データベース更新ログを取得しません。インデクス詰め替え処理前およびインデクス詰め替え処理後にバックアップを取得する必要があります。
- -t 詰め替え時間
-
詰め替えユティリティの実行時間を分単位で指定します。
実行時間は半角数字で0〜6,000の間で15分単位で指定してください。15の倍数でない値が指定された場合は,15分単位で切り上げられます。
実行時間に0を指定した場合,またはこのオペランドを省略した場合,詰め替え処理が完了するまで処理を続けます。
指定した実行時間で詰め替え処理が完了しなかった場合,ユティリティが指定時間を過ぎて終了した旨のメッセージを出力します。
- -q 世代番号
-
Staticizer Optionのインナレプリカ機能を使用する場合,処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は,カレントRDエリアが仮定されます。
-
0:オリジナルRDエリアを対象とします。
-
1〜10:指定した世代番号のRDエリアを対象とします。
このオペランドは,Staticizer Optionがインストールされていない場合は指定できません。
なお,インナレプリカ機能については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。
-
(5) 規則
このユティリティは,HiRDBが稼働中のときだけ実行できます。
(6) 注意事項
-
詰め替え処理は,1回の処理ですべてのインデクスを処理できないことがあります。このため,詰め替え実施後,インデクス情報の取得ユティリティを使用して,未実施インデクス数(Number of No Condensed Index)を確認してください。この値が大きいときは,インデクス空き容量に注意して,再度詰め替えを実行してください。インデクス情報の取得ユティリティの詳細については,「3.3.5 phxidxls(インデクス情報の取得ユティリティ)」を参照してください。
-
このユティリティは,インデクス空き容量がある状態(推奨10%以上)で実行してください。空きのない状態でユティリティを実行したとき,または詰め替え未実施インデクス数(Number of No Condensed Index)が減らない場合は,新たにRDエリアを追加してインデクスの拡張ユティリティを実行し,空き容量がある状態で実行してください。インデクスの拡張ユティリティの詳細については,「3.3.8 phxexpnd(インデクスの拡張ユティリティ)」を参照してください。空き容量は,インデクス情報の取得ユティリティのFree Size of Index Fileで確認してください。インデクス情報の取得ユティリティの詳細については,「3.3.5 phxidxls(インデクス情報の取得ユティリティ)」を参照してください。
-
詰め替え実行時間を指定した場合,指定時間と実際の処理時間との間に多少のずれが生じることがあります。
-
文書を削除すると,詰め替え可能文書率は増加します。このため,詰め替え中断時に文書を削除すると,詰め替え処理完了後でも詰め替え可能文書率は0になりません。
-
このユティリティ実行中は,処理対象となるRDエリアに対して排他モード(EX)による排他制御をするので,ほかのトランザクションと同時に実行できません。
-
詰め替えを実行する契機の指標として,インデクス情報の取得ユティリティの「Ratio of Condensable Documents(詰め替え可能文書率)」が,50%以上を目安としてください。インデクス情報の取得ユティリティの詳細については,「3.3.5 phxidxls(インデクス情報の取得ユティリティ)」を参照してください。
-
インデクス情報の取得ユティリティの「Ratio of Condensed Index(詰め替え作業率)」は,詰め替え処理が制限時間で終了したときの詰め替え作業進ちょく率を表します。
-
このユティリティを実行する際に,グローバルバッファを指定すると,実行性能が向上します。
-
詰め替え時間を指定した場合,指定時間を過ぎて詰め替え処理を中断したときは,メッセージログに「02001-I phxcond is Time Out.」のメッセージが出力されます。
詰め替え処理を完了して終了した場合は,「02003-I phxcond command ended」のメッセージが出力されます。