首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PARALLEL_MIN_PERCENT如何影响并行执行?

PARALLEL_MIN_PERCENT如何影响并行执行?
EN

Database Administration用户
提问于 2017-01-14 09:05:37
回答 2查看 1.4K关注 0票数 0

来自平行参考_最小_百分比

PARALLEL_MIN_PERCENT允许您指定并行执行所需并行执行进程数量的最小百分比。设置此参数可确保除非有足够的资源,否则并行操作不会执行。默认值0表示没有设置进程的最小百分比。考虑以下设置: PARALLEL_MIN_PERCENT = 50 PARALLEL_MIN_SERVERS =5 PARALLEL_MAX_SERVERS = 10如果10个并行执行进程中有8个繁忙,只有2个进程可用。如果然后请求一个并行度为8的查询,则不会满足最低50%的要求。

来自初始化和调优并行执行的参数

平行_最小_服务器指定并行执行所需的请求并行执行进程的最小百分比。默认值为0时,如果没有可用的并行服务器进程,则并行语句将执行串行语句。

当至少50%的服务器在运行时无法用于查询时会发生什么情况?查询是否排队,是串行执行,还是抛出一个错误,例如可用的并行查询从站不足?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2017-01-14 17:07:48

我相信,对于该配置,您将得到如下错误:

ORA-12827:可用的并行查询奴隶不足

请参阅PSORGORAFAQ上的参考资料。

如果在服务器上配置了不同的并行性,则DOP可能会被降级。在某些情况下,如果没有足够的PX服务器可用,它将被降级为串行执行。有几个用于这里parallel_degree_policy=MANUAL示例:

由于只有12台可用的PX服务器,这条语句被从DOP=8降级为DOP=6,并获得所有12台可用的PX服务器。现在考虑一下在DOP=8中提交的另一个查询,即使这个查询需要16台PX服务器,但是由于没有可用的PX服务器,所以不会给它任何请求。此查询被降级为DOP=1,并按顺序运行。

我在运行自己的代码时就经历过这种情况。实现看看DOP什么时候被降级的一种方法是通过SQL。下面是一些您可以看到的消息的示例:

350 DOP降级,由于自适应DOP 351 DOP降级,由于资源管理器最大DOP 352 DOP降级,由于没有足够数量的进程353 DOP降级,因为奴隶没有加入

票数 0
EN

Database Administration用户

发布于 2017-01-15 02:46:07

通过数据库初始化参数PARALLEL_ADAPTIVE_MULTI_USER控制自适应并行性。

如果没有足够的并行服务器来满足所请求的DOP,可能会发生以下三种情况之一:

  • SQL将在降低DOP (被降级)时运行。
  • SQL将以串行模式运行(被序列化)。
  • 如果指定了PARALLEL_MIN_PERCENT,并且低于指定的DOP的指定百分比,则SQL语句可能以ORA-12827: insufficient parallel query slaves available终止。
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/161063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档