DELETE 時
3.2 XML データ検索プラグインのユティリティ
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.」のエラーが発生することがあります。この場合は,検索を再実行してください。