oracle parallel参数(转)

在数据仓库中使用并行QUERY,需要考虑的参数

1. PARALLEL_DEGREE_POLICY

PARALLEL_DEGREE_POLICY 有三种值 MANUAL,AUTO 和LIMITED.默认的值为MANUAL如果设置为AUTO,* Oracle会根据表的大小和操作类型,自动选择并行度。* 如果要求的并行度无法到达, 比如当前所有的parallel server都很繁忙。Oracle这时候,不会执行该语句,会等待直到获得足够的parallel slave, 而不会选择降低并行度或者线型执行。



在11R2之前,则*SQL并行度会降低

*SQL线性执行

* "ORA-12827: insufficient parallel query slaves available"(如果PARALLEL_MIN_PERCENT 被设置,则报错)*Oracle parallel slaves 更倾向于是用 buffered IO ,而不是 direct IO。例如"in-memory parallel execution".

如果设置为LIMITED,自动degree生效,但是对statement queuing 和in-memory Parallel Execution 无效。自动DOP只对使用了PARALLEL语句,或者在table和index中设置DOP有效。

2. PARALLEL_MIN_TIME_THRESHOLD

PARALLEL_MIN_TIME_THRESHOLD 设置了一个应该考虑做并行的SQL的最小执行时间。 默认为AUTO,就是10秒。

3. PARALLEL_DEGREE_LIMIT

用于现在AUTO DOP ,有三种值CPU最大DOP基于CPU数量,公式PARALLEL_THREADS_PER_CPU * CPU_COUNT * the number of instances available (默认情况,是包括集群里面所有instance数,但会被参数PARALLEL_INSTANCE_GROUP 所影响). IO最大DOP基于IO,这个值需要通过运行DBMS_RESOURCE_MANAGER.CALIBRATE_IO来获得。integer手工指定

4. PARALLEL_FORCE_LOCAL

PARALLEL_FORCE_LOCAL如果指定为TRUE, 并行操作只会在当前instance里面并行,而不会垮多节点。

5. PARALLEL_ADAPTIVE_MUTI_USER

自动调节并行度,一般设置为TRUE。例如在一个17个CPU的服务器,默认的DOP是32,第一个用户获得32DOP以后,第二用户会获得一个递减的值16,。它会使得Oracle按一种递减的算法来授予DOP,直到DOP为1.



6. PARALLEL_MAX_SERVERS

Oracle可用于并行操作的最大进程数。在DW数据库中,这个值需要设置得比较大。ORACLE建议是10*CPU COUNT,甚至更高,比如20*CPU COUNT。

这个参数可以动态修改



7. ARALLEL_MIN_SERVERS 这个参数指定Oracle并行最少应该创建多少个并行进程,它们会被在实例启动时创建,并保持在内存中。

8. PARALLEL_MIN_PERCENT



如果MIN_PERCENT设置为50,MIN_SERVERS为5.当前系统仅仅剩下两个parallel server可供使用。一个新的SQL要求8个parallel server,那么最小需要 50%*8个paralle进程, 则没有满足。SQL不会执行。9. PARALLEL_MIN_PERCENT



该参数不推荐使用,过时。

10. PARALLEL_SERVERS_TRRGET

用于设置并行server process的最大数。这个参数比MAX_SERVERS要略小一些。

11. PARALLEL_THREADS_PER_CPU

一般为2
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值