3.2.5 phjincmt(インデクスのインクリメンタル(最適化)ユティリティ)
(1) 機能
IXXML型をインクリメンタル(最適化)します。インクリメンタルは,容量が大きいため検索に時間が掛かるインデクスに対して,そのインデクスのキー(n-gram)の文字数を増やし,容量の小さなインデクスを作成することで検索性能を向上させる処理です。
インクリメンタル処理は,RDエリア名単位で指定します。
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
phjincmt -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) 注意事項
-
インクリメンタル実行時間を指定して,インデクスのインクリメンタルユティリティを実行した場合,インクリメント対象トライノード数,および余剰インデクス容量が0になるまでこのユティリティを実行してください。
インクリメント対象トライノード数,および余剰インデクス容量は,インデクス情報の取得ユティリティで確認してください。インデクス情報の取得ユティリティの詳細については,「3.2.4 phjidxls(インデクス情報の取得ユティリティ)」を参照してください。
-
インデクス未登録状態の文書は,インクリメンタルの対象外となります。インクリメンタルユティリティ実行後,インデクス作成開始ユティリティを使用した場合,必要に応じて文字数の多いインデクスを自動的に作成します。インデクス作成開始ユティリティの詳細については,「3.2.8 phjstartidx(インデクス作成開始ユティリティ)」を参照してください。
-
このユティリティ実行中は,処理対象となるRDエリアに対して排他モード(EX)による排他制御をするので,ほかのトランザクションと同時に実行できません。
-
インクリメンタル実行時間を指定した場合,指定時間と実際の処理時間との間に多少のずれが生じることがあります。
-
インクリメンタル実行時間を指定した場合,指定時間を過ぎてインクリメンタル処理を中断して終了したときは,メッセージログに「02001-I phjincmt is Time Out.」のメッセージを出力します。インクリメンタル処理を完了して終了したときは「02003-I phjincmt command ended.」のメッセージを出力します。
-
このユティリティは,英文検索機能のインデクスでは使用できません。
-
UCS4インデクスの場合は,処理を行わないで正常終了します。