15.5.3 すべての表のコスト情報を収集中に異常終了した場合
-tオプションを省略してスキーマ内の全表のコスト情報を収集していた場合の対処手順を次に示します。
-
KFAA80285-Iメッセージが出力されているかどうかを確認する
KFAA80285-Iメッセージ(表のコスト情報が収集された旨のメッセージ)が出力されている場合は,コスト情報は収集されています。対処は不要です。
なお,KFAA80285-Iメッセージは処理対象表ごとに出力されます。そのため,スキーマ内のすべての表に対してKFAA80285-Iメッセージが出力されているかどうかを確認してください。KFAA80285-Iメッセージが出力されていない表がある場合は,次の手順に進んでください。
-
コスト情報の収集日時を確認する
システム表を検索して,スキーマ内のすべての表,およびそれらの表に定義されているインデクスのコスト情報の収集日時を確認してください。
コスト情報を収集している全表の表名,およびコスト情報の収集日時を調べるSELECT文
SELECT "TABLE_SCHEMA","TABLE_NAME","COLLECT_TIME" FROM "MASTER"."STATUS_TABLES"
コスト情報を収集している全インデクスのインデクス名,およびコスト情報の収集日時を調べるSELECT文
SELECT "TABLE_SCHEMA","INDEX_NAME","COLLECT_TIME" FROM "MASTER"."STATUS_INDEXES"
- 重要
-
システム表を検索したあとはすぐにCOMMIT文を発行してください。ただし,システム表を検索したあとで,adbsqlコマンドを終了する場合は,COMMIT文の実行は不要です。
表およびインデクスのコスト情報の収集日時がadbgetcstコマンドの実行後であれば,コスト情報は収集されています。対処は不要です。
コスト情報の収集日時がadbgetcstコマンドの実行前の場合,またはシステム表(実表)にコスト情報が格納されていない場合は,次の手順に進んでください。
-
出力されているメッセージを確認する
メッセージの対処に従って,障害の原因を取り除いてください。
-
adbgetcstコマンドを再実行する
コスト情報が収集されていない表(定義されているインデクスのコスト情報が収集されていない表も含む)の表名を-tオプションに指定して,adbgetcstコマンドを再実行します。-tオプションには表名を1つしか指定できないため,コスト情報が収集されていない表が複数ある場合は,該当する表の数だけadbgetcstコマンドを実行してください。
スキーマ内の表のコスト情報が1つも収集されていない場合は,-tオプションを省略して,adbgetcstコマンドを再実行してください。