17.10.7 adbimportコマンドの再実行時にエラーが発生した場合
adbimportコマンドの再実行時にエラーが発生した場合は,次に示す手順で障害原因を特定し,対処してください。
手順
-
KFAA50244-Eメッセージが出力されているかどうかを確認する
KFAA50244-Eメッセージが出力されている場合は,コマンドステータスファイル($DBDIR/ADBSYS/ADBUTLディレクトリ下のファイル)に対するアクセスエラーが発生しています。--forceオプションを指定してadbidxrebuildコマンドを実行してください。adbidxrebuildコマンドで,adbimportコマンドのインデクス作成処理を引き継ぐことができます。
詳細については,「(2) --forceオプションを指定してadbidxrebuildコマンドを実行するケース」を参照してください。
KFAA50244-Eメッセージが出力されていない場合は,次のどちらかの手順に進んでください。
-
adbimportコマンドが中断した状態で処理対象表にインデクスを定義したとき
手順2.に進んでください。
-
adbimportコマンドが中断した状態で処理対象表にインデクスを定義していないとき
手順3.に進んでください。
-
-
KFAA50209-Eメッセージが出力されているかどうかを確認する
KFAA50209-Eメッセージが出力されている場合は,未完状態のインデクスが存在するため,adbimportコマンドを再実行できなくなっています。--forceオプションを指定してadbidxrebuildコマンドを実行してください。adbidxrebuildコマンドで,adbimportコマンドのインデクス作成処理を引き継ぐことができます。
詳細については,「(2) --forceオプションを指定してadbidxrebuildコマンドを実行するケース」を参照してください。
KFAA50209-Eメッセージが出力されていない場合は,手順3.に進んでください。
-
KFAA50247-Eメッセージが出力されているかどうかを確認する
KFAA50247-Eメッセージが出力されている場合は,作業用一時ファイルに対するアクセスエラーが発生しています。--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行してください。adbidxrebuildコマンドで,adbimportコマンドのインデクス作成処理を引き継ぐことができます。
詳細については,「(1) --create-temp-fileオプションを指定してadbidxrebuildコマンドを実行するケース」を参照してください。
KFAA50247-Eメッセージが出力されていない場合は,手順4.に進んでください。
-
KFAA50209-E,KFAA50244-EおよびKFAA50247-Eメッセージ以外のメッセージを確認する
出力されたメッセージを確認して,障害原因を特定してください。障害原因の対処を行ったあとで,adbimportコマンドを実行してください。
なお,adbidxrebuildコマンドによるインデクス作成処理の引き継ぎの概要については,「16.1.3 adbidxrebuildコマンドのオプション機能」の「(2) adbimportコマンドからのインデクス作成処理の引き継ぎ」を参照してください。
- 〈この項の構成〉
(1) --create-temp-fileオプションを指定してadbidxrebuildコマンドを実行するケース
KFAA50247-Eメッセージが出力された場合は,作業用一時ファイルに対するアクセスエラーが発生しています。--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行してください。
- 重要
-
-
adbimportコマンドのコマンドステータスファイル($DBDIR/ADBSYS/ADBUTLディレクトリ下のファイル)は,実行したadbidxrebuildコマンドが正常終了するまで削除しないでください。adbidxrebuildコマンド実行時にコマンドステータスファイルが存在しない場合は,adbidxrebuildコマンドがエラーになることがあります(KFAA50244-Eメッセージが出力されます)。このときは,--create-temp-fileオプションではなく,--forceオプションを指定してadbidxrebuildコマンドを実行してください。
-
adbidxrebuildコマンドの--create-temp-fileオプションは,再実行に必要な作業用一時ファイル(インデクスレコードファイルまたはソート結果用ファイル)が存在しない場合に指定することを想定しています。もし,作業用一時ファイルが存在する場合にadbidxrebuildコマンドを実行すると,存在するファイルは再作成されます。ただし,対象のファイルへの書き込み権限または読み取り権限がないと,adbidxrebuildコマンド実行時にアクセスエラーになることがあります(KFAA30959-Eメッセージ,KFAA40204-Eメッセージ,KFAA40205-Eメッセージ,KFAA40214-Eメッセージ,KFAA41205-Eメッセージ,またはKFAA41206-Iメッセージが出力されます。エラー番号には13(EACCES)が出力されます)。このときは,OSのrmコマンドなどで該当するファイルを削除してから,adbidxrebuildコマンドをもう一度実行してください。
-
adbidxrebuildコマンドに--create-temp-fileオプションを指定すると,adbimportコマンドに指定していたオプションの内容を引き継いで,adbidxrebuildコマンドが実行されます。-bオプション,-mオプション,または--status waitオプションを指定していた場合も,指定内容が引き継がれます。
なお,これらのオプションはadbimportコマンドのオプションのため,adbidxrebuildコマンドには指定できません。あくまで,--create-temp-fileオプションを指定した場合に引き継ぐだけです。
-
--create-temp-fileオプションを指定したadbidxrebuildコマンドが中断した場合,中断後にadbidxrebuildコマンドを実行すると,--create-temp-fileオプションの指定に関係なく,処理が中断したチャンクの表の検索からインデクス再作成処理が再開されます。
-
--create-temp-fileオプションを指定してadbidxrebuildコマンドを実行する場合の,adbidxrebuildコマンドに指定する内容を次の表に示します。
項番 |
adbidxrebuildコマンドの指定形式 |
中断したadbimportコマンドからオプションを変更できるかどうか |
備考 |
---|---|---|---|
1 |
adbidxrebuild |
adbidxrebuildを指定します。 |
− |
2 |
-u 認可識別子 |
× |
− |
3 |
〔-p パスワード〕 |
× |
− |
4 |
〔-g インデクス再作成処理の経過メッセージ出力間隔〕 |
△ |
− |
5 |
〔-w {作業用一時ファイルの格納先ディレクトリ名|作業用一時ファイルの格納先を指定したディレクトリパスファイル名}〕 |
○ |
作業用一時ファイルを格納するディスクの空き容量が不足した場合は,容量が大きい別のディスクを格納先として指定してください。作業用一時ファイルを格納するディスクの空き容量が不足した場合の対処については,マニュアルHADB システム構築・運用ガイドのトラブルシュートのコマンドに関するトラブルのコマンド実行時の作業用一時ファイルを格納するディスクの空き容量が不足した場合の対処方法を参照してください。 |
6 |
〔-z インデクス再作成オプションファイル名〕 |
○ |
インデクス再作成オプションの指定値については,「表17‒21 インポートオプションと対応するインデクス再作成オプション(--create-temp-fileオプションの場合)」を参照してください。 |
7 |
〔-i インデクス識別子ファイル名〕 |
オプションを指定する必要はありません(指定しても無視されます)。 |
処理対象表に定義したインデクスが対象になります。 |
8 |
〔{--create-temp-file|--force}〕 |
--create-temp-fileを指定します。 |
− |
9 |
処理対象表 |
× |
− |
- (凡例)
-
○:中断したadbimportコマンドのオプションから,指定値を変更できます。
△:オプションの指定は任意です。
×:中断したadbimportコマンドのオプションから,指定値を変更できません。
−:該当しません。
また,中断したadbimportコマンド実行時に指定したインポートオプションと対応するインデクス再作成オプションがある場合は,インポートオプションに指定した値と同じ値を目安として指定してください。なお,インポートオプションに指定した値と異なる値をインデクス再作成オプションに指定した場合は,インデクス再作成オプションに指定した値でadbidxrebuildコマンドが実行されます。
インポートオプションと対応するインデクス再作成オプションを次の表に示します。
項番 |
インポートオプション |
対応するインデクス再作成オプション |
---|---|---|
1 |
adb_import_errdata_file_name |
× |
2 |
adb_import_errdata_num |
× |
3 |
adb_import_errmsg_lv |
× |
4 |
adb_import_rthd_num |
adb_idxrebuild_rthd_num※1 |
5 |
adb_import_read_size |
× |
6 |
− |
adb_idxrebuild_scan_buff_size |
7 |
adb_import_buff_blk_num |
adb_idxrebuild_buff_blk_num |
8 |
adb_import_sort_buff_size |
adb_idxrebuild_sort_buff_size |
9 |
adb_import_dividx_rd_buff_size |
adb_idxrebuild_dvix_rdbuff_size |
10 |
adb_import_dividx_wt_buff_size |
adb_idxrebuild_dvix_wtbuff_size |
11 |
adb_import_txt_buff_size |
adb_idxrebuild_txt_buff_size |
12 |
adb_import_decompress_buff_size |
× |
13 |
adb_import_dvbix_rthd_use |
adb_idxrebuild_dvbix_rthd_use※2 |
14 |
adb_import_null_string |
× |
- (凡例)
-
×:対応するインデクス再作成オプションはありません。
−:該当するインポートオプションはありません。インデクス再作成オプションの指定値の目安を参照して,値を設定してください。インデクス再作成オプションの指定値の目安については,「16.2.2 インデクス再作成オプションの形式」の「(2) 指定形式の説明」を参照してください。
- 注※1
-
インポートオプションadb_import_rthd_numに3未満の値を指定していた場合,インデクス再作成オプションadb_idxrebuild_rthd_numには3を指定してください。
- 注※2
-
adbimportコマンドの実行が中断したあとにadbidxrebuildコマンドを実行する場合,インデクス再作成オプションadb_idxrebuild_dvbix_rthd_useの指定は無視されます。インデクス再作成オプションadb_idxrebuild_dvbix_rthd_useにFIXEDが指定されたと仮定して,adbidxrebuildコマンドが実行されます。なお,サーバ定義adb_cmd_dvbix_rthd_useオペランドが指定されていても,その指定も無視されます。
(2) --forceオプションを指定してadbidxrebuildコマンドを実行するケース
次に示す場合は,--forceオプションを指定してadbidxrebuildコマンドを実行する必要があります。
-
adbimportコマンドが中断した状態で処理対象表にインデクスを定義し,adbimportコマンドの再実行時にKFAA50209-Eメッセージが出力された場合
未完状態のインデクスが存在するため,adbimportコマンドを再実行できなくなっています。
-
adbimportコマンドの再実行時にKFAA50244-Eメッセージが出力された場合
コマンドステータスファイル($DBDIR/ADBSYS/ADBUTLディレクトリ下のファイル)に対するアクセスエラーが発生しています。
これらの場合は,次に示す手順で対処してください。
手順
-
作業用一時ファイルを削除する
次に示すディレクトリ下のファイル(作業用一時ファイル)を,OSのrmコマンドなどで削除してください。書き込み権限または読み取り権限がないファイルがあると,adbidxrebuildコマンドを実行できないことがあります。
-
前回中断したコマンドの実行時に-wオプションを指定した場合
-wオプションに指定した作業用一時ファイルの格納先ディレクトリ
-
前回中断したコマンドの実行時に-wオプションを省略した場合
$DBDIR/ADBWORKディレクトリ
-
-
--forceオプションを指定してadbidxrebuildコマンドを実行する
--forceオプションを指定してadbidxrebuildコマンドを実行してください。
なお,前回中断したコマンドがバックグラウンドインポートを適用した(-bオプションを指定した)adbimportコマンドだった場合は,手順3.に進んでください。それ以外の場合は,手順3.を実行する必要はありません。
-
-bオプションを指定してadbimportコマンドを実行する
バックグラウンドインポートを適用した(-bオプションを指定した)adbimportコマンドの中断後に,--forceオプションを指定してadbidxrebuildコマンドを実行すると,adbimportコマンドで処理中だった表データの格納情報は削除されます。このため,adbidxrebuildコマンドが完了したあとに,-bオプションを指定して,中断したadbimportコマンドを再度実行してください。
- 重要
-
--forceオプションを指定したadbidxrebuildコマンドが中断した場合,中断後にadbidxrebuildコマンドを実行すると,--forceオプションを指定しなくてもインデクス再作成処理の初めから強制実行されます。このため,--create-temp-fileオプションは指定しても無視されます。インデクス再作成処理の初めから強制実行されるとき,KAFF80215-Iメッセージが出力されます。
--forceオプションを指定してadbidxrebuildコマンドを実行する場合の,adbidxrebuildコマンドに指定する内容を次の表に示します。
項番 |
adbidxrebuildコマンドの指定形式 |
中断したadbimportコマンドからオプションを変更できるかどうか |
備考 |
---|---|---|---|
1 |
adbidxrebuild |
adbidxrebuildを指定します。 |
− |
2 |
-u 認可識別子 |
○ |
adbimportコマンドの実行ユーザを削除したり,IMPORT TABLE権限を取り消したりしてadbimport実行時と同じユーザで実行できない状態になっている場合は,REBUILD INDEX権限を持つ認可識別子を指定して,adbidxrebuildコマンドを実行してください。 |
3 |
〔-p パスワード〕 |
○ |
認可識別子を変更した場合は,認可識別子に対するパスワードを指定してください。 |
4 |
〔-g インデクス再作成処理の経過メッセージ出力間隔〕 |
△ |
− |
5 |
〔-w {作業用一時ファイルの格納先ディレクトリ名|作業用一時ファイルの格納先を指定したディレクトリパスファイル名}〕 |
○ |
作業用一時ファイルを格納するディスクの空き容量が不足した場合は,容量が大きい別のディスクを格納先として指定してください。作業用一時ファイルを格納するディスクの空き容量が不足した場合の対処については,マニュアルHADB システム構築・運用ガイドのトラブルシュートのコマンドに関するトラブルのコマンド実行時の作業用一時ファイルを格納するディスクの空き容量が不足した場合の対処方法を参照してください。 |
6 |
〔-z インデクス再作成オプションファイル名〕 |
○ |
インデクス再作成オプションの指定値については,「表17‒23 インポートオプションと対応するインデクス再作成オプション(--forceオプションの場合)」を参照してください。 |
7 |
〔-i インデクス識別子ファイル名〕 |
指定する必要はありません(指定しても無視されます)。 |
処理対象表に定義したインデクスが対象になります。 |
8 |
〔{--create-temp-file|--force}〕 |
--forceを指定します。 |
− |
9 |
処理対象表 |
× |
− |
- (凡例)
-
○:中断したadbimportコマンドのオプションから,指定値を変更できます。
△:オプションの指定は任意です。
×:中断したadbimportコマンドのオプションから,指定値を変更できません。
−:該当しません。
また,中断したadbimportコマンド実行時に指定したインポートオプションと対応するインデクス再作成オプションがある場合は,インポートオプションに指定した値と同じ値を目安として指定してください。なお,インポートオプションに指定した値と異なる値をインデクス再作成オプションに指定した場合は,インデクス再作成オプションに指定した値でadbidxrebuildコマンドが実行されます。
インポートオプションと対応するインデクス再作成オプションを次の表に示します。
項番 |
インポートオプション |
対応するインデクス再作成オプション |
---|---|---|
1 |
adb_import_errdata_file_name |
× |
2 |
adb_import_errdata_num |
× |
3 |
adb_import_errmsg_lv |
× |
4 |
adb_import_rthd_num |
adb_idxrebuild_rthd_num※1 |
5 |
adb_import_read_size |
× |
6 |
− |
adb_idxrebuild_scan_buff_size |
7 |
adb_import_buff_blk_num |
adb_idxrebuild_buff_blk_num |
8 |
adb_import_sort_buff_size |
adb_idxrebuild_sort_buff_size |
9 |
adb_import_dividx_rd_buff_size |
adb_idxrebuild_dvix_rdbuff_size |
10 |
adb_import_dividx_wt_buff_size |
adb_idxrebuild_dvix_wtbuff_size |
11 |
adb_import_txt_buff_size |
adb_idxrebuild_txt_buff_size |
12 |
adb_import_decompress_buff_size |
× |
13 |
adb_import_dvbix_rthd_use |
adb_idxrebuild_dvbix_rthd_use※2 |
14 |
adb_import_null_string |
× |
- (凡例)
-
×:対応するインデクス再作成オプションはありません。
−:該当するインポートオプションはありません。インデクス再作成オプションの指定値の目安を参照して,値を設定してください。インデクス再作成オプションの指定値の目安については,「16.2.2 インデクス再作成オプションの形式」の「(2) 指定形式の説明」を参照してください。
- 注※1
-
インポートオプションadb_import_rthd_numに3未満の値を指定していた場合,インデクス再作成オプションadb_idxrebuild_rthd_numには3を指定してください。
- 注※2
-
adbimportコマンドの実行が中断したあとにadbidxrebuildコマンドを実行する場合,インデクス再作成オプションadb_idxrebuild_dvbix_rthd_useの指定は無視されます。インデクス再作成オプションadb_idxrebuild_dvbix_rthd_useにFIXEDが指定されたと仮定してadbidxrebuildコマンドが実行されます。なお,サーバ定義adb_cmd_dvbix_rthd_useオペランドが指定されていても,その指定も無視されます。