oracle的并行世界

参考文章 How to Enable and Disable Parallelism (文档 ID 2394025.1)

启用并行


在数据库级别


设置 PARALLEL_MAX_SERVERS = N。其中 N 是默认值,可以根据以下推荐的公式得出:


默认值 = PARALLEL_THREADS_PER_CPU * CPU_COUNT * concurrent_parallel_users * 5


在实例中,以默认并行度运行的 concurrent_parallel_users 的数量取决于实例的内存初始化参数设置。例如,如果设置了 MEMORY_TARGET 或 SGA_TARGET 初始化参数,则 concurrent_parallel_users = 4。如果未设置 MEMORY_TARGET 或 SGA_TARGET,则检查 PGA_AGGREGATE_TARGET。如果为 PGA_AGGREGATE_TARGET 设置了值,则 concurrent_parallel_users = 2。如果没有为 PGA_AGGREGATE_TARGET 设置值,则 concurrent_parallel_users = 1。


在会话级别


在会话级别为 DML、DDL 和 QUERY 操作启用并行,可以使用以下命令:

ALTER SESSION ENABLE PARALLEL DML;

ALTER SESSION ENABLE PARALLEL DDL;

ALTER SESSION ENABLE PARALLEL QUERY;

ALTER SESSION FORCE PARALLEL [DML|DDL|QUERY] PARALLEL <DEGREE>; -- Degree 的值可以是 2,4,8 或者 16 等等...

ALTER SESSION FORCE PARALLEL [DML|DDL|QUERY];


在语句级别


Parallel Hint 可以像下面这样使用:


/*+ PARALLEL */ - 如果在对象级别没有设置 DOP,则会使用默认 DOP

(或者) /*+ PARALLEL(4) */

(或者) /*+ PARALLEL(emp, 4) */

12c 中的新 Hint:ENABLE_PARALLEL_DML。这适用于 12c 或更高版本。


/*+ enable_parallel_dml parallel(x) */ -- (x)是可选的,其中 x 是所请求的并行度

例如:insert /*+ parallel(8) enable_parallel_dml */ into t1 select * from t1_1;


注意:

Hint “enable_parallel_dml”可以在/*+ */分隔符中以任何顺序出现。


在对象级别


在对象级别启用并行:


ALTER TABLE <TABLE_NAME> PARALLEL <n>;

ALTER INDEX <INDEX_NAME> PARALLEL <n>;

有关对象级别 DOP 的更多详细信息,请参阅 Document 1549214.1


注意:在大多数情况下,表和索引的 DOP 应该匹配。为索引和表设置不同的值可能会产生意外的计划并影响性能。

 


取消并行


在数据库级别


要在数据库级别禁用并行,您必须设置:


PARALLEL_MIN_SERVERS = 0


PARALLEL_MAX_SERVERS = 0


在会话级别


在会话级别为 DML、DDL 和 QUERY 操作禁用并行,使用下面的命令:


ALTER SESSION DISABLE PARALLEL DML;

ALTER SESSION DISABLE PARALLEL DDL;

ALTER SESSION DISABLE PARALLEL QUERY;


在对象级别


禁用对象级别的并行:

ALTER TABLE <TABLE_NAME> PARALLEL 1;

ALTER INDEX <INDEX_NAME> PARALLEL 1;


注意:所有具有并行 hint 的语句仍将并行执行,因为语句级的 PARALLEL hint 优先于会话和对象级别


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26964624/viewspace-2646904/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26964624/viewspace-2646904/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值