Oracle can dynamically add more PX servers, up to a maximum defined by the parameter parallel_max_servers.
Pre-allocated PX servers are listed in v$px_process.
QC and PX
For example, in a parallel select statement with a sum(), the PX servers sum part of the data while the QC in the end will calculate the final sum from the results from the PX servers.
Ranger
A Ranger process runs early and inspects the distribution of the input data in order to assign data ranges to server processes.
Enabling parallel execution
By default, Oracle is enabled for parallel execution of queries and DDL statements.
Parallel execution can be enabled for DML statements, select and DDL statements with these alter session statements:
select * from v$pq_sesstat where statistic = 'DOP';
Default degree of parallelism
In a single instance environment, the default degree of parallelism is determined by the product of the two parameters cpu_count and parallel_threads_per_cpu:
with p as (
select
max(case when name = 'cpu_count' then value end) cpu_count,
max(case when name = 'parallel_threads_per_cpu' then value end) parallel_threads_per_cpu
from
v$parameter
)
select
p.cpu_count,
p.parallel_threads_per_cpu,
p.cpu_count * p.parallel_threads_per_cpu "default parallism degree"
from
p;
Data Flow Opration (DFO)
DFO: Data flow operation.
In an execution plan, a DFO corresponds to the PX SEND operation.
DFOs are arranged in an DFO tree (PX Coordinator).
ORA-12805 is parallel query server died unexpectedly
These two errors are generic messages that may be caused when executing a parallel query. These errors are usually (always?) accompanied by additional messages which indicate the real cause of the problem.
When the init parameter parallel_degree_policy is set to auto, Oracle will queue the execution of SQL statements that require parallel execution if the necessary number of parallel execution servers is not available.