僕の場合は、実行計画を変更したくない場合は、sql に hint 句をつけてアプリ側でどうこうしています。綺麗じゃないけど、oracle 任せで 100% 最速な実行計画を練ってくれる訳ではないと経験上思っています。 まずは、あるユーザが保持する全てのインデックスを再構築し、テーブルとインデックスの統計情報を再構築する sql について。spool する場所とかのしては適宜変更して下さい。 ※oracle EE 向けの sql です。再構築時に online 指定があります。oracle SE 向けの場合は online オプションを外して下さい。但し、インデックス再構築時にテーブルロックがかかるので oracle SE の方は実行するタイミングには十分ご注意を。 idxrebuild_and_analyze.sql spool /tmp/idxrebuild_and_analyze.ls