Control "db
file scattered read" IO operations:
Number of blocks read
during the "db file scattered read" operation can be controlled
through the db_file_multiblock_read_count parameter. The number of
blocks within a table's extent needs to be less than or equal to the
value specified for db_file_multiblock_read_count for you to see te
desired result.
Control
""direct patch write" and "direct path read" IO operations:
The number of blocks
for "direct patch write" and "direct path read" operations can be
controlled through the hidden parameter _hash_multiblock_io_count.
Example :
SQL> alter session
set "_hash_multiblock_io_count"=64;
When set, IO of (_hash_multiblock_io_count)
- 1 blocks is performed for direct read / write operations that arise
due to hash joins. The value for _hash_multiblock_io_count is supposed
to be calculated and set internally by oracle and the parameter value
always shows up as 0.
Control all
direct IO operations except while sorting and performing hash joins:
Number of blocks read
through Direct IO for all operations that has oracle doing direct IO
except sort and hash joins can be controlled through the hidden
parameter _db_file_direct_io_count. This parameter cannot be changed
at the session level and the default value is 1MB (in solaris 10).
Control direct
IO operations due to sorting:
Number of blocks read
through direct IO due to sort operations can be controlled through _sort_multiblock_read_count
paramter. The default value in sun solaris 10 OS is 2 and can be
changed at the session level
Important Note
: Please keep in mind that simply increasing all / any of
the above parameter values in order to increase the number of blocks
read per IO operation does not translate to process / query / dml /
ddl improvements. On the contrary it could result in performance
degradation. Set the applicable values based on your performance
improvement analysis and thoroughly test your applications in your
test environments.