The number of processors dedicated to service
a SQL request is ultimately determined by Oracle Query Manager, but
the programmer can specify the upper limit on the number of
simultaneous processes. When using the cost-based optimizer, the
parallel hint can be embedded into the SQL to specify the number
of processes. For instance:
select /*+
FULL(employee_table) PARALLEL(employee_table, 35) */
employee_name
from
employee_table
where
emp_type =
'SALARIED';
If you are using an SMP or MPP database server with
many CPUs, you can issue a parallel request and leave it up to each
Oracle instance to use its default degree of parallelism. For
example:
select /*+
FULL(employee_table) PARALLEL(employee_table, DEFAULT, DEFAULT) */
employee_name
from
employee_table
where
emp_type =
'SALARIED';
In most cases, it is better for the Oracle
Remote DBA to determine the optimal degree of parallelism and then
set that degree in the data dictionary with the following command:
Alter table
employee_table parallel degree 35;
This way, the Remote DBA can always be sure of the
degree of parallelism for any particular table.