3.2.8 phjstartidx(インデクス作成開始ユティリティ)
(1) 機能
インデクス作成方法に初期分割登録,または分割遅延登録を指定して作成したインデクスに対して,インデクス未登録状態のXMLデータをインデクスに登録します。
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
phjstartidx -d インデクス識別子 [-t インデクス作成実行時間] [-l ログ取得方式] [-c 登録件数] [-w 同時実行指定] [-q 世代番号]
(4) コマンド引数
- -d インデクス識別子:
-
インデクス登録対象となるインデクス識別子を指定します。必ずインデクス作成時に指定したインデクス識別子を指定してください。
-
UNIXの場合
インデクス識別子を「"」(ダブルクォーテーション)で囲んだ場合は,英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また,インデクス識別子にスペースが含まれる場合は,「"」で囲む必要があります。なお,sh,cshおよびkshの場合は,さらに「'」(アポストロフィ)で囲む必要があります。
-
Windowsの場合
インデクス識別子を「\"」で囲んだ場合は,英大文字と英小文字が区別されます。「\"」で囲まない場合はすべて大文字として扱われます。また,インデクス識別子にスペースが含まれる場合は,「"」で囲む必要があります。
-
- -t インデクス作成実行時間:
-
インデクス作成開始ユティリティの実行時間を分単位で指定します。
指定範囲は,0〜6,000となります。0を指定した場合,またはこのオペランドの指定を省略した場合は,時間では制限されません。指定を省略した場合は,実行の可否を問い合わせるメッセージを表示します。
なお,分割遅延登録・更新系SQL同時実行機能を利用する場合,このオプションは指定できません。
- -l ログ取得方式:
-
インデクス登録処理でのログ取得方式を指定します。
省略時は「p」が設定されます。分割遅延登録・更新系SQL同時実行機能を利用する場合は,「a」または「p」を指定してください。
-
a:
ログ取得モードで実行します。
ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。
インデクスのバックアップを取得する必要はありません。
-
p:
更新前ログ取得モードで実行します。
ロールバックに必要なデータベース更新ログを取得します。
インデクス登録処理後,バックアップを取得する必要があります。
-
n:
ログレスモードで実行します。
データベース更新ログを取得しません。
インデクス登録処理前およびインデクス登録処理後にバックアップを取得する必要があります。
-
- -c 登録件数:
-
インデクス作成をする件数を,1〜2,147,483,646の範囲で指定します。
指定を省略した場合は,登録件数では制限されません。
- -w 同時実行指定:
-
このユティリティと検索処理を同時に実行するかどうか,またはこのユティリティと遅延登録を同時に実行するかどうかを指定します。
省略時は「wait」が設定されます。
-
wait
同時実行しません。
-
nowait
登録・検索を同時実行します。
-
nowait_with_update
登録・検索同時実行に加えて,分割遅延登録・更新系SQLを同時実行します。
-
- -q 世代番号:
-
Staticizer Optionのインナレプリカ機能を使用する場合,処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は,カレントRDエリアが仮定されます。
-
0:
オリジナルRDエリアを対象とします。
-
1〜10:
指定した世代番号のRDエリアを対象とします。
このオペランドは,Staticizer Optionがインストールされていない場合は指定できません。
なお,インナレプリカ機能については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。
-
(5) 規則
このユティリティは,HiRDBが稼働中のときだけ実行できます。
(6) 注意事項
-
インデクス未登録状態のXMLデータが存在しないインデクスに対して,このユティリティを実行しても,無効となり正常終了します。
-
インデクス作成実行時間を指定してインデクス作成開始ユティリティを実行した場合,インデクス未登録状態のXMLデータ数が0になるまでこのユティリティを実行してください。
インデクス未登録XMLデータ数は,インデクス情報の取得ユティリティで確認してください。インデクス情報の取得ユティリティの詳細については,「3.2.4 phjidxls(インデクス情報の取得ユティリティ)」を参照してください。
-
-tオプション,-cオプションの指定を省略した場合は,実行の可否を確認するメッセージを表示します。
-
インデクス作成開始ユティリティは,データの整合性を確保するため,インデクス作成実行時間に指定した時間が経過しても,終了しない場合があります。この場合は,データの整合性を確保できた時点で終了します。インデクス作成実行時間が経過してからユティリティが終了するまでの時間は,IXXMLインデクス型プラグインの環境定義ファイルに指定した一括登録時最大メモリ所要量とディスク性能に依存します。
-
インデクス作成実行時間を指定した場合,指定時間を過ぎてインデクス作成処理を中断して終了した場合は,メッセージログに「02001-I phjstartidx is Time Out.」のメッセージを出力します。インデクス作成処理を完了して終了した場合は,「02003-I phjstartidx command ended.」のメッセージを出力します。
-
-tオプションのインデクス実行時間と-cオプションの登録件数を指定した場合,どちらかの条件が成立した時点で登録処理を終了します。
-
同時実行指定で「wait」を指定した場合,対象処理となるRDエリアに対して排他モード(EX)による排他制御をするので,ほかのトランザクションと同時に実行できません。同時実行指定で「nowait」を指定した場合は,サーバ側定義が同時実行である場合に有効です。サーバ側定義が同時実行となっていない場合は,同時実行とはなりません。
-
分割した表のインデクスに対し,-cオプションを指定してインデクスを作成する場合,指定したXMLデータ数のインデクスを分割した表ごとに作成します。
-
インデクス作成開始ユティリティは,登録要求件数分の行に対して参照できる共用排他を実行します。このため,分割遅延登録・更新系SQL同時実行を指定してこのユティリティを実行する場合は,排他ができるように排他資源を確保してください。
-
-wオプションにnowait_with_updateを指定し,さらに-tオプションを指定した場合,メッセージログに「62014-E Option argument invalid. option=xx」のメッセージを出力します。
-
使用しているHiRDBのバージョンが,この製品が前提としているHiRDBのバージョンと不一致の場合は,エラーメッセージ「KFPL28000-E Internal error occurred」が出力され,異常終了します。
-
一回の検索中に同時実行を指定したこのユティリティを二回以上実行した場合,検索で「Fail to lock Index File.」のエラーが発生することがあります。この場合は,検索を再実行してください。