16.5.3 処理対象表がシングルチャンク表の場合
シングルチャンク表に定義されたB-treeインデクス(主キーに対応するB-treeインデクスを含む),またはテキストインデクスを再作成している場合,adbidxrebuildコマンドの再実行機能を使用して,B-treeインデクスおよびテキストインデクスの作成処理からインデクス再作成処理を再開できることがあります。
(1) 再実行前の注意点
adbidxrebuildコマンドが異常終了したときと同じHADBユーザでadbidxrebuildコマンドを再実行すると,再実行機能が自動的に適用されます。特別な操作はありません。
なお,adbidxrebuildコマンドの再実行時にコマンドオプションおよびインデクス再作成オプションを変更する場合は,「16.5.5 再実行時にコマンドオプションおよびインデクス再作成オプションを変更する場合」を参照してください。
- 重要
-
-
コマンドステータスファイル($DBDIR/ADBSYS/ADBUTLディレクトリ下のファイル)に対するアクセスエラー(KFAA50244-Eメッセージ)が発生した場合は,--forceオプションを指定してadbidxrebuildコマンドを実行し直してください(このとき,インデクス再作成処理は最初から実行されます)。
--forceオプションを指定してadbidxrebuildコマンドを実行する方法については,「16.5.6 adbidxrebuildコマンドの再実行時にエラーが発生した場合」の「(2) --forceオプションを指定してadbidxrebuildコマンドを実行するケース」を参照してください。
-
作業用一時ファイルに対するアクセスエラー(KFAA50247-Eメッセージ)が発生した場合は,--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行し直してください(このとき,インデクス再作成処理は表データの検索から実行されます)。
--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行する方法については,「16.5.6 adbidxrebuildコマンドの再実行時にエラーが発生した場合」の「(1) --create-temp-fileオプションを指定してadbidxrebuildコマンドを実行するケース」を参照してください。
-
(2) 再実行機能の適用可否(シングルチャンク表の場合)
adbidxrebuildコマンドの中断タイミングによる再実行機能の適用可否を次の表に示します。
なお,データベースの回復方法はどの時点で中断が発生しても同じになります。
中断のタイミング※1 |
||
---|---|---|
表データの検索中 |
ソート処理中 |
B-treeインデクスとテキストインデクスの作成中※2 |
|
|
- 注※1
-
中断のタイミングは,次に示すように出力されたメッセージで確認できます。
- 注※2
-
KFAA80204-Iメッセージ(リターンコードが0または4)が出力されている場合は,インデクス再作成処理はすべて完了しています。この場合,adbidxrebuildコマンドの再実行は不要です。
KFAA80204-Iメッセージが出力されていない場合は,次のコマンドを実行して出力結果(表のサマリ情報)の2行目を確認してください(出力結果の1行目は列のタイトルです)。
adbdbstatus -c table -n adbidxrebuildコマンドが中断した表名
adbidxrebuildコマンドが中断した表名は,「スキーマ名.表識別子」の形式で指定します。
- ■Command_status列(17列目)の値がabort,かつRerun_command列(18列目)の値がadbidxrebuildのとき
-
インデクス再作成処理が完了していません。adbidxrebuildコマンドを再実行してください。
- ■Command_status列(17列目)およびRerun_command列(18列目)に値が出力されていないとき
-
インデクス再作成処理が完了しています。adbidxrebuildコマンドの再実行は不要です。
- 注※3
-
adbidxrebuildコマンドの再実行時,インデクス再作成処理を最初から行います。
ただし,adbidxrebuildコマンドの再実行前に,再作成対象のインデクスをすべて削除した場合は,コマンドの終了処理だけ実行します。
- 注※4
-
adbidxrebuildコマンドの再実行時,B-treeインデクスおよびテキストインデクスの作成処理からインデクス再作成を再開します。
ただし,次に示す場合は,表データの検索からインデクス再作成処理を再開します。
-
--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行する場合
-
adbimportコマンド中断後に,--create-temp-fileオプションを指定して実行したadbidxrebuildコマンドが中断した場合
また,adbidxrebuildコマンドの再実行前に,再作成対象のインデクスをすべて削除した場合は,コマンドの終了処理だけ実行します。
-