3.2.16 phnmodidx(インデクス情報変更ユティリティ)
(1) 機能
作成済みのインデクスに対して定義を変更します。インデクス分割遅延作成ができるインデクスへ移行できます。また,インデクス分割遅延作成用ファイルサイズを拡張できます。
またUCS2用インデクスからUCS4用インデクスへ移行できます。
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
phnmodidx -d インデクス識別子 -v 変更項目 [-l ログ取得方式] [-q 世代番号]
(4) コマンド引数
- -d インデクス識別子
-
インデクス情報変更の対象となる,インデクス識別子を指定します。必ずインデクス作成時に指定したインデクス識別子を指定してください。
- UNIXの場合
-
インデクス識別子を"(ダブルクォーテーション)で囲んだ場合は,英大文字と英小文字が区別されます。"で囲まない場合はすべて大文字として扱われます。また,インデクス識別子にスペースが含まれる場合は,"で囲む必要があります。なお,sh,cshおよびkshの場合は,さらに '(アポストロフィ)で囲む必要があります。
- Windowsの場合
-
インデクス識別子を\"で囲んだ場合は,英大文字と英小文字が区別されます。\"で囲まない場合はすべて大文字として扱われます。また,インデクス識別子にスペースが含まれる場合は,"で囲む必要があります。
- -v 変更項目
-
変更するインデクス定義項目を,次の形式で指定します。
-
"DELAY_SIZE=インデクス分割遅延登録用領域サイズ"
サイズは,2,608〜129,584キロバイトの範囲で指定してください。新規に移行する際には,指定されたサイズでファイルを作成します。すでにファイルがある場合は,指定されたサイズまでファイルを拡張します。最小拡張単位は2,048キロバイトです。端数は切り捨てられます。また,拡張回数の上限は62回です。
-
"INDEX_TYPE=UCS4"
UCS2用インデクスから,UCS4用インデクスへ移行します。
-
- -l ログ取得方式
-
インデクス情報変更処理でのログ取得方式を指定します。省略時は,"p"が設定されます。
- a:
-
ログ取得モードで実行します。
ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。インデクスのバックアップを取得する必要はありません。
- p:
-
更新前ログ取得モードで実行します。
ロールバックに必要なデータベース更新ログを取得します。インデクス情報変更処理後,バックアップを取得する必要があります。
- n:
-
ログレスモードで実行します。
データベース更新ログを取得しません。インデクス情報変更処理前およびインデクス情報変更処理後にバックアップを取得する必要があります。
- -q 世代番号
-
Staticizer Optionのインナレプリカ機能を使用する場合,処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は,カレントRDエリアが仮定されます。
-
0:オリジナルRDエリアを対象とします。
-
1〜10:指定した世代番号のRDエリアを対象とします。
このオペランドは,Staticizer Optionがインストールされていない場合は指定できません。
なお,インナレプリカ機能については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。
-
(5) 規則
このユティリティは,HiRDBが稼働中のときだけ実行できます。
(6) 注意事項
-
このユティリティ実行中は,処理対象となるRDエリアに対して排他モード(EX)による排他制御をするので,ほかのトランザクションと同時に実行できません。
-
このユティリティは,インデクス分割遅延作成用ファイルを作成または拡張します。そのまま実行すると,RDエリア不足が発生することがあります。その場合,作成または拡張するサイズ分のRDエリアを,あらかじめ追加することをお勧めします。
-
このユティリティでUCS4用インデクスへ移行する場合,RDエリアの空き容量(phnidxlsコマンドのAvailable Work Area Size)が十分にあるか確認してください。そのまま実行すると,RDエリア不足が発生することがあります。
-
次のデータベースに対してUCS4用インデクスへの移行は実行できません。
-
SUB_INDEX(差分インデクス)
-
ENGLISH,ENGLISH_STANDARD(英文インデクス)
-
文字コード種別がutf-8以外のデータベース
-
-
UCS4インデクスへの移行時に,すでにインデクス作成済み文書のUCS2の範囲を超えるUCS4の範囲の文字は検索対象となりません。検索対象とするためには,プラグインオプションにINDEX_UCS4を指定して,インデクスを再作成してください。
-
このユティリティで分割遅延作成できるインデクスへ移行しても,分割遅延登録運用の開始/終了状態は変更されません。運用方法を変更する場合は別途インデクス分割遅延登録運用変更ユティリティを実行する必要があります。インデクス分割遅延登録運用変更ユティリティの詳細については,「3.2.15 phndelay(インデクス分割遅延登録運用変更ユティリティ)」を参照してください。また,現在の運用方法はインデクス情報の取得ユティリティの実行結果の「Delay Status」で確認できます。インデクス情報の取得ユティリティの詳細については,「3.2.9 phnidxls(インデクス情報の取得ユティリティ)」を参照してください。
-
分割遅延登録・更新系SQL同時実行を使用している場合は変更できません。
-
インデクスの再初期化を行った場合,このユティリティでの移行情報は無効になり,初めにインデクスを定義した状態に戻ります。