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

本节介绍如何管理SQL语句的并行处理。在此配置中,Oracle数据库可以将处理SQL语句的工作分为多个并行进程。

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

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

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

本节包含以下主题:

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

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

 关于并行执行服务器


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

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

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

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

管理并行SQL执行的进程的更多相关文章

  1. OCM_第十五天课程:Section6 —》数据库性能调优 _SQL 访问建议 /SQL 性能分析器/配置基线模板/SQL 执行计划管理/实例限制

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  2. SQL Server 在线进程分析处理

    SQL Server 在线进程分析处理 前言 数据库在线进程处理在很多时候需要人为干预已达到预期管理目标,下面整理一下常用的在线进程管理方法,便于后续工作使用. 一.查看目标数据库在线进程,并杀死指定 ...

  3. Oracle中SQL调优(SQL TUNING)之最权威获取SQL执行计划大全

    该文档为根据相关资料整理.总结而成,主要讲解Oracle数据库中,获取SQL语句执行计划的最权威.最正确的方法.步骤,此外,还详细说明了每种方法中可选项的意义及使用方法,以方便大家和自己日常工作中查阅 ...

  4. [转载]循规蹈矩:快速读懂SQL执行计划的套路与工具

    作者介绍 梁敬彬,福富研究院副理事长.公司唯一四星级内训师,国内一线知名数据库专家,在数据库优化和培训领域有着丰富的经验.多次应邀担任国内外数据库大会的演讲嘉宾,在业界有着广泛的影响力.著有多本畅销书 ...

  5. 进程(并发,并行) join start 进程池 (同步异步)

    一.背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象.进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有 ...

  6. Oracle sql执行计划解析

    Oracle sql执行计划解析 https://blog.csdn.net/xybelieve1990/article/details/50562963 Oracle优化器 Oracle的优化器共有 ...

  7. 自适应查询执行:在运行时提升Spark SQL执行性能

    前言 Catalyst是Spark SQL核心优化器,早期主要基于规则的优化器RBO,后期又引入基于代价进行优化的CBO.但是在这些版本中,Spark SQL执行计划一旦确定就不会改变.由于缺乏或者不 ...

  8. SQL执行效率2-执行计划

    以下语句可以进行SQL 语句执行时间分析,两个Go之间就是SQL查询语句 use Work--数据库名 go set statistics profile on set statistics io o ...

  9. DB查询分析器7.01新增的周、月SQL执行计划功能

                DB查询分析器7.01新增的周.月SQL执行计划功能 马根峰              (广东联合电子服务股份有限公司, 广州 510300) 1      引言   中国本土 ...

随机推荐

  1. 关键字(2):循环和分支结构for/while/loop/switch

    FOR i IN tRange1.first .. tRange1.last LOOP IF Instr(CardNum, tRange1(i), ) = THEN GLOBAL_VARBLE.nPo ...

  2. qml Loader异步导致ComBoBox数据乱序

    qml  Loader异步导致ComBoBox数据乱序 当使用Loader动态加载qml文件时, 如果将Loader设置为异步,那么动态加载的组件内的ComBoBox数据将呈现乱序状态, 代码请见下文 ...

  3. (转载)python: getopt的使用;

    注: 该文转载于https://blog.csdn.net/tianzhu123/article/details/7655499python中 getopt 模块, 该模块是专门用来处理命令行参数的 ...

  4. Java中String和byte[]间的转换浅析

    Java语言中字符串类型和字节数组类型相互之间的转换经常发生,网上的分析及代码也比较多,本文将分析总结常规的byte[]和String间的转换以及十六进制String和byte[]间相互转换的原理及实 ...

  5. sklearn-标准化标签LabelEncoder

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  6. Kubernetes 集群ca验证

    创建集群时跳过ca验证 # vim /etc/kubernetes/apiserver 去除KUBE_ADMISSION_CONTROL中的 SecurityContextDeny,ServiceAc ...

  7. docker 基础之私有仓库

    docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库.安装运行 docker-registry容器 在安装了 Docker 后,可以通过获取官方 registry 镜像来运行. ...

  8. SQL语法基础之UPDATE语句

    SQL语法基础之UPDATE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看UPDATE语句的帮助信息 1>.查看UPDATE的帮助信息 mysql> ? ...

  9. python 线程(创建2种方式,锁,死锁,递归锁,GIL锁,守护进程)

    ###############总结############ 线程创建的2种方式(重点) 进程:资源分配单位    线程:cpu执行单位(实体) 线程的创建和销毁的开销特别小 线程之间资源共享,是同一个 ...

  10. C# 主动发起请求代码

    本文用于写代码是给提示 private string GetHW(string uri) { string returnStr = ""; HttpWebRequest hwReq ...