大量データのimport後にORA-0600発生

NO IMAGE

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’);
を実行することで、再取得できます。

CTA-IMAGE

インターンシップ2020募集中!

文理不問、全学年対象で体験できるインターンシップです。たくさんの学生さんと会えることを楽しみしています、是非ご参加ください。

1DAY:業界研究&プログラミング体験
IT業界研究セミナーとscratchを用いたプログラミング体験!

1WEEK:システム開発の流れを体験!
要件定義から設計、開発、テストまで、一連の業務を体験します。