大量データのimport後にORA-0600発生
- 2011.05.17
- IT関連
Oracleに対して、大量データのimportを行った後にimport対象の
テーブルを結合等でSELECT文を発行すると、ORA-0600が発生したので
対応方法を覚え書き。
どうも大量データのimportを行うと、import前の統計情報と
import後のテーブルの状態がアンマッチとなり、オプティマイザが
正常な実行計画を戻せず、ORA-0600が発生するようです。
対応方法としては、統計情報を再取得することでimport後の統計情報が
取得され、問題なく実行計画を戻せるようになります。
統計情報の再取得を行うには、
ANALYZE TABLE テーブル名 COMPUTE STATISTICS
で1テーブル毎の分析を行い、スキーマ単位で行う場合は、
DBMS_UTILITY.ANALYZE_SCHEMA(‘スキーマ名’,’COMPUTE’);
もしくは、
DBMS_STATS.GATHER_SCHEMA_STATS (‘スキーマ名’,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,’GATHER’);
を実行することで、再取得できます。
-
前の記事
SUPER GT 2011.05.16
-
次の記事
私がピンクの携帯電話を持っている理由。 2011.05.17