The
parallel_degree_policy parameter is related to the
amount of table data residing in the data buffer cache.
Using parallel_degree_policy allows Oracle to bypass
direct path reads when Oracle determines that lots of the
table data blocks already reside in the data buffer cache.
In traditional 32-bit systems (limited by on ly
a few gig of RAM for the SGA), direct path reads (which bypass the
SGA were always faster than reading a large table through the data
buffer. However, with the
advent of 64-bit servers with dozens of gigabytes for the
db_cache_size, large
tables are often be fully cached, negating the need to always
perform direct path reads for parallel large-table full-table scans.
Guy Harrison conducted some benchmark tests of
parallel_degree_policy and we see details on how
parallel_degree_policy evaluates the caching of large tables:
"If PARALLEL_DEGREE_POLICY is set to AUTO then
Oracle might perform buffered IO instead of direct path IO. . .
The documentation says that the optimizer decides
whether or not to use direct path depending on the size of the table
and the buffer cache and the likelihood that some data might be in
memory."