管理并行SQL执行的进程

本节介绍的并行执行功能可用于Oracle数据库企业版数据库

本节介绍如何管理SQL语句的并行处理。在此配置中,Oracle数据库能够将处理SQL语句的工做分为多个并行进程。服务器

许多SQL语句的执行能够并行化。并行度是能够与单个操做相关联的并行执行服务器的数量。并行度由如下任何因素决定:oracle

  •  声明中的PARALLEL子句
  • 对于查询中引用的对象,建立或更改对象时使用的PARALLEL子句
  • 插入语句中的并行提示
  • 由数据库肯定的默认值

并行化表建立”中包含使用并行SQL执行的示例。性能

 本节包含如下主题:spa

  • 关于并行执行服务器
  • 更改会话的并行执行

有关使用并行提示的信息,请参阅“Oracle数据库性能调整指南code

 关于并行执行服务器server


 

实例启动时,Oracle数据库将建立一个并行执行服务器池,可用于任何并行操做。称为并行执行协调器的进程调度并行执行服务器池的执行,并协调从全部这些并行执行服务器向用户发回结果。htm

并行执行服务器默认启用,由于默认状况下,PARALLEL_MAX_SERVERS初始化参数的值设置为> 0。这些进程可供各类可利用并行性的Oracle数据库功能使用。相关的初始化参数由数据库为大多数用户调整,但您能够根据须要更改它们以适合您的环境。为了便于调整,一些参数能够动态改变。对象

并行性可用于多种功能,包括事务恢复,复制和SQL执行。在执行并行SQL的状况下,本书中讨论的主题并行服务器进程在整个执行阶段仍然与语句相关联。当完整处理语句时,这些进程可用于处理其余语句。blog

Oracle数据库VLDB和分区指南获取有关使用并行执行的更多信息

更改会话的并行执行


您能够使用ALTER SESSION语句控制会话的并行SQL执行。

禁用并行SQL执行

使用ALTER SESSION DISABLE PARALLEL DML | DDL | QUERY语句禁用并行SQL执行。在发布这样的语句后,全部后续的DML(INSERT,UPDATE,DELETE),DDL(CREATE,ALTER)或者查询(SELECT)操做都会连续执行。它们将被连续执行,而无论与所涉及的表或索引有关的任何并行属性。可是,带有PARALLEL提示的语句会覆盖会话设置

如下语句禁用并行DDL操做:

ALTER SESSION DISABLE PARALLEL DDL;

 

启用并行SQL执行

使用ALTER SESSION ENABLE PARALLEL DML | DDL | QUERY语句启用并行SQL执行。随后,当PARALLEL子句或并行提示与语句关联时,那些DML,DDL或查询语句将并行执行。默认状况下,为DDL和查询语句启用并行执行。

只有在您特别发出ALTER SESSION语句以启用并行DML时,才能对DML语句进行并行处理:

ALTER SESSION ENABLE PARALLEL DML;

强制并行SQL执行

您能够使用ALTER SESSION FORCE PARALLEL DML | DDL | QUERY语句强制执行并行执行的全部后续DML,DDL或查询语句。此外,您能够强制执行特定程度的并行性,从而覆盖与后续语句关联的任何PARALLEL子句。若是您在此声明中没有指定必定的并行度,则使用默认的并行度。强制并行执行将覆盖SQL语句中的任何并行提示。

如下语句强制后续语句的并行执行,并将最重要的并行度设置为5:

ALTER SESSION FORCE PARALLEL DDL PARALLEL 5;

 

 

参考资料


https://docs.oracle.com/cd/E11882_01/server.112/e25494/manproc.htm#ADMIN11186

相关文章
相关标签/搜索