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

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

【カテゴリ】データベース

プロフィール

愛知県名古屋市にあるジャスウィルで働く社員です。

ジャスウィルは大学事業に特化したシステムを提案しています。『大学向け事務・教務統合パッケージ―TriR Campus』を開発しています。


Facebookページでは、イベントや普段の社員の様子を公開中♪
ぜひご覧ください☆

過去一年の月別記事 全て表示