Database Reference
In-Depth Information
In addition to the default behavior just described, the Resource Manager provides several directives that allow
you to set up resource plans that take advantage of the following features:
Managing the order in which the sessions in the waiting list are dequeued
Limiting the slave processes usage at the consumer group level
Specifying a timeout
Defining critical SQL statements that bypass statement queuing (version 12.1 only)
Managing statement queuing in multitenant environments (version 12.1 only)
Detailed information about these features is provided in the Oracle Database VLDB and Partitioning Guide
manual.
Parallel Queries
The following operations, in both queries and subqueries, can be executed in parallel:
Full table scans, full partition scans, and fast full index scans
Index full and range scans, but only if the index is partitioned (at a given time, a partition can
be accessed by a single slave process only—as a side effect, the degree of parallelism is limited
by the number of accessed partitions)
Joins (Chapter 14 also provides some examples)
Set operators
Sorts
Aggregations
Full table scans, full partition scans, and fast full index scans executed in parallel generally use direct reads
and, therefore, bypass the buffer cache. an exception is when, from version 11.2 onward, in-memory parallel execution is
active. In fact, the aim of in-memory execution is precisely to avoid direct reads and to cache as much data as possible.
note that the database engine, for index full and range scans, always performs regular physical reads.
Note
Queries can't be executed in parallel when they reference a user-defined function that doesn't support parallel
processing. Basically, to support parallel processing, a user-defined function must neither write to the database nor
read or modify package variables. When writing PL/SQL code, you should mark user-defined functions that support
parallel processing with the PARALLEL_ENABLE clause. Note that in some situations the capability of executing a
user-defined function in parallel depends not only on the user-defined function itself, but also on the query (and, in
the end, on the execution plan itself ). The script px_query_udf.sql provides an example where one function prevents
one query from running in parallel while it doesn't place such a restriction on another query.
Parallel queries are enabled by default. At the session level, you can enable and disable them with the following
SQL statements:
ALTER SESSION ENABLE PARALLEL QUERY
 
Search WWH ::




Custom Search