Oracle® Database Administrator's Guide 11g Release 1 (11.1) Part Number B28310-01 |
|
|
View PDF |
Note:
The parallel execution feature described in this section is available with the Oracle Database Enterprise Edition.This section describes how to manage parallel processing of SQL statements. In this configuration Oracle Database can divide the work of processing an SQL statement among multiple parallel processes.
The execution of many SQL statements can be parallelized. The degree of parallelism is the number of parallel execution servers that can be associated with a single operation. The degree of parallelism is determined by any of the following:
A PARALLEL
clause in a statement
For objects referred to in a query, the PARALLEL
clause that was used when the object was created or altered
A default determined by the database
An example of using parallel SQL execution is contained in "Parallelizing Table Creation".
The following topics are contained in this section:
Altering Parallel Execution for a Session
See Also:
Oracle Database Concepts for a description of parallel execution
Oracle Database Performance Tuning Guide for information about using parallel hints
When an instance starts up, Oracle Database creates a pool of parallel execution servers which are available for any parallel operation. A process called the parallel execution coordinator dispatches the execution of a pool of parallel execution servers and coordinates the sending of results from all of these parallel execution servers back to the user.
The parallel execution servers are enabled by default, because by default the value for PARALLEL_MAX_SERVERS
initialization parameter is set >0. The processes are available for use by the various Oracle Database features that are capable of exploiting parallelism. Related initialization parameters are tuned by the database for the majority of users, but you can alter them as needed to suit your environment. For ease of tuning, some parameters can be altered dynamically.
Parallelism can be used by a number of features, including transaction recovery, replication, and SQL execution. In the case of parallel SQL execution, the topic discussed in this book, parallel server processes remain associated with a statement throughout its execution phase. When the statement is completely processed, these processes become available to process other statements.
See Also:
Oracle Database Data Warehousing Guide for more information about using and tuning parallel execution, including parallel SQL executionYou control parallel SQL execution for a session using the ALTER SESSION
statement.
You disable parallel SQL execution with an ALTER SESSION DISABLE PARALLEL DML|DDL|QUERY
statement. All subsequent DML (INSERT
, UPDATE
, DELETE
), DDL (CREATE
, ALTER
), or query (SELECT
) operations are executed serially after such a statement is issued. They will be executed serially regardless of any PARALLEL
clause associated with the statement or parallel attribute associated with the table or indexes involved.
The following statement disables parallel DDL operations:
ALTER SESSION DISABLE PARALLEL DDL;
You enable parallel SQL execution with an ALTER SESSION ENABLE PARALLEL DML|DDL|QUERY
statement. Subsequently, when a PARALLEL
clause or parallel hint is associated with a statement, those DML, DDL, or query statements will execute in parallel. By default, parallel execution is enabled for DDL and query statements.
A DML statement can be parallelized only if you specifically issue an ALTER SESSION
statement to enable parallel DML:
ALTER SESSION ENABLE PARALLEL DML;
You can force parallel execution of all subsequent DML, DDL, or query statements for which parallelization is possible with the ALTER SESSION FORCE PARALLEL DML|DDL|QUERY
statement. Additionally you can force a specific degree of parallelism to be in effect, overriding any PARALLEL
clause associated with subsequent statements. If you do not specify a degree of parallelism in this statement, the default degree of parallelism is used. However, a degree of parallelism specified in a statement through a hint will override the degree being forced.
The following statement forces parallel execution of subsequent statements and sets the overriding degree of parallelism to 5:
ALTER SESSION FORCE PARALLEL DDL PARALLEL 5;