Hitachi

Hitachi Advanced Data Binder コマンドリファレンス


16.1.3 adbidxrebuildコマンドのオプション機能

adbidxrebuildコマンドには,次に示すオプション機能があります。

〈この項の構成〉

(1) 再実行機能

adbidxrebuildコマンドが異常終了するなどした場合は,adbidxrebuildコマンドの再実行時に,前回のインデクス再作成で内容が保証されている個所の続きからインデクス再作成処理を実行します。このため,インデクス再作成処理の再実行に掛かる時間を短縮できます。

次に示す条件を満たす場合,再実行機能が適用されることがあります。

なお,次に示す場合,上記の条件を満たしていても,再実行機能は適用されません(インデクス再作成処理の初めから強制実行されます)。

再作成対象のインデクスが定義された表(処理対象表)の定義時にCHUNK を指定したかどうか(処理対象表がシングルチャンク表か,マルチチャンク表か)によって,再実行機能の適用条件,および再実行時の処理が異なります。

処理対象表がシングルチャンク表の場合

インデクス再作成処理では,表データを検索してレンジインデクスを再作成したあとに,B-treeインデクスおよびテキストインデクスを再作成します。

このため,表データの検索が完了している(表データの検索が完了するとKFAA80233-Iメッセージが出力されます)ときは,adbidxrebuildコマンドを再実行すると再実行機能が適用され,B-treeインデクスおよびテキストインデクスの作成処理からインデクス再作成処理が再開されます。

図16‒4 再実行機能の概要(シングルチャンク表の場合)

[図データ]

なお,次に示すときは,再実行機能が適用されません。

  • レンジインデクスだけを再作成しているとき

  • 表データの検索中(KFAA80233-Iメッセージの出力前)にadbidxrebuildコマンドが中断したとき

  • --create-temp-fileオプションを指定してadbidxrebuildコマンドを実行するとき

処理対象表がマルチチャンク表の場合

処理対象表がマルチチャンク表の場合,インデクス再作成処理はチャンクごとに実行されます。

このため,マルチチャンク表の処理が中断したときは,adbidxrebuildコマンドを再実行すると再実行機能が適用され,処理が中断したチャンクからインデクス再作成処理が再開されます。

ただし,最初のチャンクの表データの検索中(KFAA80233-Iメッセージの出力前)にadbidxrebuildコマンドが中断したときは,再実行機能が適用されません。

図16‒5 再実行機能の概要(マルチチャンク表の場合)

[図データ]

また,次に示す3つの条件を満たすときは,処理が中断したチャンクのB-treeインデクスおよびテキストインデクスの作成処理から,インデクス再作成処理が再開されます。

  • 再作成するインデクスの中にB-treeインデクスまたはテキストインデクスが含まれている

  • 処理が中断したチャンクの表データの検索が完了している(表データの検索が完了するとKFAA80233-Iメッセージが出力されます)

  • adbidxrebuildコマンドの再実行時に,--create-temp-fileオプションを指定していない(--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行すると,処理が中断したチャンクの表データの検索から,インデクス再作成処理が再開されます)

図16‒6 処理が中断したチャンクのB-treeインデクスおよびテキストインデクスの作成処理からの再実行

[図データ]

(2) adbimportコマンドからのインデクス作成処理の引き継ぎ

adbidxrebuildコマンドは,adbimportコマンドからインデクス作成処理を引き継ぐことができます。

次に示す理由でadbimportコマンドを再実行できない場合にadbidxrebuildコマンドを実行すると,adbidxrebuildコマンドがインデクス作成処理を引き継ぎます。

注※

adbidxrebuildコマンドの実行前に処理対象表のインデクスをDROP INDEX文で削除した場合,削除したインデクスは再作成されません。また,adbidxrebuildコマンドの実行前に作成対象のインデクスをすべて削除した場合,コマンドの終了処理だけが実行されます。

adbidxrebuildコマンドに指定するオプションによって,adbidxrebuildコマンドの処理が異なります。

--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行する場合

--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行すると,adbidxrebuildコマンドの処理は,作業用一時ファイルを作成する表データの検索処理から開始されます。

図16‒7 adbimportコマンドからのインデクス作成処理の引き継ぎ(--create-temp-fileオプションを指定する場合)

[図データ]

なお,処理対象表がマルチチャンク表の場合,adbimportコマンドが中断したときに処理中だったチャンクが,adbidxrebuildコマンドの処理対象となります。adbidxrebuildコマンドが正常終了するまで,対象となるチャンクは変更されません。

--forceオプションを指定してadbidxrebuildコマンドを実行する場合

--forceオプションを指定してadbidxrebuildコマンドを実行すると,adbidxrebuildコマンドがインデクス再作成処理の初めから開始されます。

図16‒8 adbimportコマンドからのインデクス作成処理の引き継ぎ(--forceオプションを指定する場合)

[図データ]