従来からフルスキャン(通常 db file scattered read)をバッファーキャッシュを迂回するdirect path readに変更する手法としていくつか手段がありました。 * 今回は、Parallel Queryは除外 1. "_serial_direct_read"を設定する SQL> alter session set "_serial_direct_read"=true; 2. event 10355を設定 $ oerr ora 10355 10355, 00000, "turn on direct read path for scans" // *Cause: // *Action: enable direct async read for scans 11gR2からは、フルスキャンでdb file scattered readを使うのか、direct path readを使うのか、Oracleが自動で決定しているようです。 勝手に選択されるのも、時と場合によっては問題になる可能性があるので、その仕組みを少し調査してみます。 以下の隠しパラメータが影響して、I/Oの制御を行っているようです。 "_small_table_threshold" lower threshold level of table size for direct reads "_very_large_object_threshold" upper threshold level of object size for direct reads セグメントサイズ > 5 * "_small_table_threshold" * blocksizeの場合にdirect path readを選択するようになります。 ただし、これは、event 10949で制御が可能です。 $ oerr ora 10949 10949, 00000, "Disable autotune direct path read for full table scan" // *Cause: // *A...