天地不仁,以万物为刍狗!

关于ORACLE数据库的并行执行

上一篇 / 下一篇  2007-06-26 00:00:00 / 个人分类:oracle

ORACLE数据库的并行执行

session_max_open_files:
0m+O'T bD{|0  说明: 指定可在任一给定会话中打开的 BFILE 的最大数量。一旦达到这个数量, 此后将无法在该会话中打开更多文件。该参数还取决于操作系统参数 MAX_OPEN_FILES。
$\D:D tp0  值范围: 1 - 至少为 (50, OS 级上的 MAX_OPEN_FILES)。
r(ScK([8c6T2XrU j0  默认值: 10
L{h+\f0rX0parallel_execution_message_size:
f o*Sc*f0  说明: 指定并行执行 (并行查询, PDML, 并行恢复和复制) 消息的大小。如果值大于 2048 或 4096, 就需要更大的共享池。如果 PARALLEL_AUTOMATIC_TUNING = TRUE, 将在大存储池之外指定消息缓冲区。
o(E:f^Q3YN6X0  值范围: 2148 - 无穷大。
Mx.H\"fu.lC0  默认值: 如果 PARALLEL_AUTOMATIC_TUNING 为 FALSE, 通常值为 2148; 如果 PARALLEL_AUTOMATIC_TUNING 为 TRUE , 则值为 4096 (根据操作系统而定)。 ITPUB个人空间0q'I)_-laS%w6j6M
Paralle_min_percent:
4a8wR?9u-Q0  说明: 指定并行执行要求的线程的最小百分比。设置该参数, 可以确保并行执行在没有可用的恰当查询从属进程时, 会显示一个错误消息, 并且该查询会因此而不予执行。 ITPUB个人空间 l:i.\+z;_u
  值范围: 0 -100
;_ Z!\N#x TX_ gl4X7_0  默认值: 0, 表示不使用该参数。 ITPUB个人空间+A:@r$x&EYhG
Parallel_automatic_tuning:
&RCgIh"u0  说明: 如果设置为 TRUE, Oracle 将为控制并行执行的参数确定默认值。除了设置该参数外, 你还必须为系统中的表设置并行性。 ITPUB个人空间4x`L!q?Ar
  值范围: TRUE | FALSE
+Osb7KL3V C#f0  默认值: FALSE
6F5I;bql$WT0A d0parallel_threads_per_cpu:
\%P0^/fL4R0  说明: 说明一个 CPU 在并行执行过程中可处理的进程或线程的数量, 并优化并行自适应算法和负载均衡算法。如果计算机在执行一个典型查询时有超负荷的迹象, 应减小该数值。
Y1AQ(i)?&`i0  值范围: 任何非零值。 ITPUB个人空间 P1_Zbw+OP BZ o4}7q
  默认值: 根据操作系统而定 (通常为 2)
b'^P`%M0nO3b#b~0parallel_broadcast_enabled:
/O?0{`3t|y!{\0  说明 : 通过使用一个散列联接或合并联接, 可以在将多个大结果集联接到一个小结果集 (以字节而不是行为单位来衡量大小) 时改善性能。如果该值设置为 TRUE, 优化程序可以将小结果集内的每个行都传播到大型集内的每个集群数据库处理行中。 ITPUB个人空间$?6e.l+rP
  值范围: TRUE | FALSE
ZhPLNB a0  默认值 : FALSE ITPUB个人空间"Z W0f} NN[9c c U2r
parallel_adaptive_multi_user:
;q_y(z4puW#DfUE0  说明: 启用或禁用一个自适应算法, 旨在提高使用并行执行方式的多用户环境的性能。通过按系统负荷自动降低请求的并行度, 在启动查询时实现此功能。当 PARALLEL_AUTOMATIC_TUNING = TRUE 时, 其效果最佳。 ITPUB个人空间9?8{ci[U
  值范围: TRUE | FALSE
xj1ena |%q?0  默认值: 如果 PARALLEL_AUTOMATIC_TUNING = TRUE, 则该值为 TRUE; 否则为 FALSE ITPUB个人空间Y`$c{9Etz
parallel_max_servers: ITPUB个人空间!];K5RSz
  说明: 指定一个例程的并行执行服务器或并行恢复进程的最大数量。如果需要, 例程启动时分配的查询服务器的数量将增加到该数量。
BnU U F0  值范围: 0 -256
Y~8[ajM.b0  默认值: 由 CPU_COUNT, PARALLEL_AUTOMATIC_TUNING 和 PARALLEL_ADAPTIVE_MULTI_USER 确定
i:v'qb:PM0parallel_min_servers
D j:sK3Yz0  说明: 指定为并行执行启动例程后, Oracle 创建的查询服务器进程的最小数量。 ITPUB个人空间J$w'UPZ [2`-]
  值范围: 0 - PARALLEL_MAX_SERVERS。 ITPUB个人空间W\ M bpM
  默认值: 0
v%cIe A,k.H0log_archive_dest_state_3:
%eqc ~-] ny1k0  说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_3) 的可用性状态。如果启用, 日志目标将被归档。如果延迟, 该目标将被排除在归档操作之外直至重新启用。
#i&LTz1B0  值范围: ENABLE | DEFER
4J+e3j/D t#I(ZR~-T0  默认值: ENABLE ITPUB个人空间o`"^l0z
log_archive_dest_state_4: ITPUB个人空间)zi?.Uy~(W
  说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_4) 的可用性状态。如果启用, 日志目标将被归档。如果延迟, 该目标将被排除在归档操作之外直至重新启用。 ITPUB个人空间 NbZ&o%e i3Uk
  值范围: ENABLE | DEFER
:Y:_rz"~|{(w;i4\0  默认值: ENABLE ITPUB个人空间P~TM:M8x?+F ASv
log_archive_dest_state_5:
sF!K/n];^0  说明: 指定相应的归档日志目标参数 (仅 LOG_ARCHIVE_DEST_5) 的可用性状态。如果启用, 日志目标将被归档。如果延迟, 该目标将被排除在归档操作之外直至重新启用。 ITPUB个人空间'{%B.o4J0ICz
  值范围: ENABLE | DEFER
&S'Pp5Au1s.X!D o0  默认值: ENABLE
.NWL'IWJh0log_archive_dest_state_6:
yn'| ?_ Q0  说明: 标识特定日志归档目标的最近的用户定义状态。
6YQ]Y E$K2Vp0  值范围: ENABLE--如果目标属性有效, 则启用归档日志目标; DEFER--即使目标属性有效, 也要延迟处理归档日志目标; 或者是 ALTERNATE--延迟处理归档日志目标, 直到另一个目标的失败导致自动启用了此目标 (前提是备用目标的属性必须有效)。
G@uzs0log_archive_dest_state_7: ITPUB个人空间 ^ o/d2ad8QG;_w
  说明: 标识特定日志归档目标的最近的用户定义状态。 ITPUB个人空间VPG aQ3Q
  值范围: ENABLE--如果目标属性有效, 则启用归档日志目标; DEFER--即使目标属性有效, 也要延迟处理归档日志目标; 或者是 ALTERNATE--延迟处理归档日志目标, 直到另一个目标的失败导致自动启用了此目标 (前提是备用目标的属性必须有效)。
5~ A!?U Az0log_archive_dest_state_8: ITPUB个人空间 Rb9\5X uH!M(l
  说明: 标识特定日志归档目标的最近的用户定义状态。 ITPUB个人空间3_I'X D _l~}`
  值范围: ENABLE--如果目标属性有效, 则启用归档日志目标; DEFER--即使目标属性有效, 也要延迟处理归档日志目标; 或者是 ALTERNATE--延迟处理归档日志目标, 直到另一个目标的失败导致自动启用了此目标 (前提是备用目标的属性必须有效)。

--并行查询设置
gCIJR!\ y0alter table emp parallel (degree 4);
,G+M$o K%ZlR5F(B+g0select degree from user_tables where table_name = 'EMP';
V`6N C!Sz%E-EA0select count(*) from emp;ITPUB个人空间#\:`~_.w A'\ \ \%Yn$x
alter table emp noparallel;

SELECT /*+ PARALLEL(emp,4) */ COUNT(*)
CY6Q9{3t4sXhG0FROM emp;

--深度了解ITPUB个人空间Ii#d@L
一、并行执行可以提高以下操作的执行速度: ITPUB个人空间E}R0P.}:d4I6G9P Y y
大表扫描 ITPUB个人空间 Ala F7i j+j x
创建大的索引
D(f)jSE#Wj jY!_0基于分区的索引扫描 ITPUB个人空间$x~/r2{GINpoV)h
大量的插入,修改,删除操作
V@1WMe/h0拷贝操作

二、并行执行的条件 ITPUB个人空间u1j AVT
SMP,CLUSTERS,MPP系统 ITPUB个人空间3n9L'A:v5JS"m%v
足够的I/O带宽
T|2M)p_ |0足够的内存来支持消耗内存的进程(排序,哈西算法,I/O缓冲)

三、何时使用并行执行 ITPUB个人空间]c!Ec8t!Wy:R
在DSS系统中,并行执行能够发挥最好的效果,OLTP系统也能从并行执行中受益,在批处理的情况下效果更为明显。
@#M @W6Y8D0银行电信行业的月终年终结算
dir WG5u E0基于许多大表的即时查询 ITPUB个人空间%jvq6Af_C o1U+?
数据库的备份恢复

四、与并行执行有关的参数: ITPUB个人空间l'd-h7~+B4m3S0KMK,?v
1、PARALLEL_AUTOMATIC_TUNING-自动并行执行调整,缺省值为FALSE ITPUB个人空间T,C(S4w D ?
当该参数置为TRUE时,ORACLE 服务器自动调整控制并行执行,它将自动调节影响以下参数:PARALLEL_ADAPTIVE_MULTI_USER,-PROCESSES,SESSIONS,PARALLEL_MAX_SERVERS
:a urt;Y3NG$U"HJ0,LARGE_POOL_SIZE,PARALLEL_EXECUTION_MESSAGE_SIZE。

2、PARALLEL_THREADS_PER_CPU

3、PARALLEL_MAX_SERVERS

4、SHARED_POOL_SIZE

5、TRANSACTIONS

6、PARALLEL_ADAPTIVE_MULTI_USER

7、PROCESSES

8、SESSIONS

9、TRANSACTIONS

10、LARGE_POOL_SIZE

ITPUB个人空间4dE j ]u4C:d1WT
五、并行执行调整事例: ITPUB个人空间_iK.O5D6O E:b}
1、 小型数据系统 ITPUB个人空间bz8r+RZ
系统硬件配置: ITPUB个人空间"x*~'N5Xc1q @*oD
CPUS = 4
)e PMVwm0Main Memory = 750MB
6Q0Le.v I0["Xp0Disk = 40GB ITPUB个人空间 _ y(yrH-Y5F
Users = 16

DBA 做如下设置: ITPUB个人空间 ^%kdn[/td
PARALLEL_AUTOMATIC_TUNING = TRUE
x|ZL0\0SHARED_POOL_SIZE = 12MB
w&BB@TEY0TRANSACTIONS =系统缺省值

Oracle自动调整以下参数的值
.O_-U @ {MiF#Ue0PARALLEL_MAX_SERVERS = 64
#}Ul&m8^1J0PARALLEL_ADAPTIVE_MULTI_USER = TRUE
!Q*sS#o ^0PARALLEL_THREADS_PER_CPU = 2
t+Ut[i _5]P[0PROCESSES = 76
yp._Ez|uK0SESSIONS = 88
c&uQ1\8cRy U0TRANSACTIONS = 96 ITPUB个人空间+H)@IKQ[_%X$ZG
LARGE_POOL_SIZE = 29MB

Parameter Settings for DOP and the Adaptive Multi-User Feature ITPUB个人空间8p5oW i%iCz
The DBA parallelizes every table having more than 10,000 rows using a command
/TY0]#F"rSC0similar to the following:
+bEem4[?$dY0ALTER TABLE employee PARALLEL;
f6i&c"Z\0In this example, because PARALLEL_THREADS_PER_CPU is 2 and the number of
O0C[mw\0CPUs is 4, the DOP is 8. Because PARALLEL_ADAPTIVE_MULTI_USER is set to ITPUB个人空间 ff@`']F
TRUE, Oracle may reduce this DOP in response to the system load that exists at the ITPUB个人空间v{bEa4_w
time of the query's initiation.

2、 中型数据系统
E_#v |8?REhqQ0系统硬件配置: ITPUB个人空间 A6^cv;uncod
CPUS = 8 ITPUB个人空间V*k\*fb%W&g~
Main Memory = 2GB ITPUB个人空间I$}TFD&z$F/c0F
Disk = 80GB
EQ#a\8t4H2v0Users = 40 ITPUB个人空间Z0x~DN n*mW5x
The DBA makes the following settings:
"v8De`p:u?$k&}{{+J0n PARALLEL_AUTOMATIC_TUNING = TRUE
DP7uyf0n PARALLEL_ADAPTIVE_MULTI_USER = FALSE ITPUB个人空间9gl4cz M-uF$H
n PARALLEL_THREADS_PER_CPU = 4 ITPUB个人空间/iJ [p,r4[1v
n SHARED_POOL_SIZE = 20MB
V d cX1imtA0The DBA also sets other parameters unrelated to parallelism. As a result, Oracle
c8S SBkw.t$xj*^0responds by automatically adjusting the following parameter settings: ITPUB个人空间3KPx_M:D],cM t `
n PROCESSES = 307 ITPUB个人空间?.RMvkZ+y~
n SESSIONS = 342 ITPUB个人空间B j&_?#Mf5Dh#AX
n TRANSACTIONS = 376 ITPUB个人空间(Qok@#o Em
n PARALLEL_MAX_SERVERS = 256 ITPUB个人空间a/^c2o4H v1l;u(R \k
n LARGE_POOL_SIZE = 78MB ITPUB个人空间^+u t1?(P Q\'T
Parameter Settings for DOP and the Adaptive Multi-User Feature ITPUB个人空间`2L'M0k6jv;Zn
The DBA parallelizes some tables in the data warehouse while creating other views
_P$qdv.O"V3` D {0for special users:
S+e"iE OU0ALTER TABLE sales PARALLEL; ITPUB个人空间-y!Y Vz/V3^;W+z)w6?
CREATE VIEW invoice_parallel AS SELECT /*+ PARALLEL(P) */ * FROM invoices P;
mQ@$g'P[9P;l0The DBA allows the system to use the PARALLEL_THREADS_PER_CPU setting of ITPUB个人空间"D"N/R aV)AG
4 with 8 CPUs. The DOP for the tables is 32. This means a simple query uses 32 ITPUB个人空间-?#xS~$J~^
processes while more complex queries use 64.

3、 大型数据中心
(u3\-z[B$Pi%}x0系统硬件配置:
%Z(O a_l&Pm0Lp+@024 Nodes, 1 CPU per node
2PP.TIj'EcHLs0Uses MPP Architecture (Massively Parallel Processing)
pS'] M:\pG;Z3z!c0Main Memory = 750MB per node
0ydM)b e1?i0Disk = 200GB ITPUB个人空间F{.h+_ `&_w5Q%GD
Users = 256
XL^$Mv+Vh4n` n(h0The DBA uses manual parallel tuning by setting the following: ITPUB个人空间3CRqa~C }&]8w
n PARALLEL_AUTOMATIC_TUNING = FALSE
w/N%[[)H Ey0n PARALLEL_THREADS_PER_CPU = 1
%z9Q+yhhW nF]%B0n PARALLEL_MAX_SERVERS = 10 ITPUB个人空间-S j*Q?^.U!w
n SHARED_POOL_SIZE = 75MB ITPUB个人空间9r(|:d x"v
n PARALLEL_SERVER_INSTANCES = 24
2XMm8yeX @eS0n PARALLEL_SERVER = TRUE ITPUB个人空间{LA&C/V
n PROCESSES = 40 ITPUB个人空间 ^5lm%[@D\
n SESSIONS = 50
\m"\;[ U.?0n TRANSACTIONS = 60
0{0TP{A0The DBA also sets other parameters unrelated to parallel execution. Because ITPUB个人空间)E'Y"[z/^!M/q
PARALLEL_AUTOMATIC_TUNING is set to FALSE, Oracle allocates parallel
p E {5I#PQ0execution buffers from the SHARED_POOL.
btKSjO)a0Parameter Settings for DOP and the Adaptive Multi-User Feature ITPUB个人空间 MX!O&GA J'ldP
The DBA parallelizes tables in the data warehouse by explicitly setting the DOP ITPUB个人空间J(Lh CUc,}
using syntax similar to the following:
$O h$f7B#[KG0ALTER TABLE department1 PARALLEL 10;
Q3c(B.R] j$nP0ALTER TABLE department2 PARALLEL 5;
.a@ \(}.eL9[Q@0CREATE VIEW current_sales AS SELECT /*+ PARALLEL(P, 20) */ * FROM sales P; ITPUB个人空间4aY;lw7b
In this example, Oracle does not make calculations for parallel execution because ITPUB个人空间TZ?Ud9{;wD
the DBA has manually set all parallel execution parameters.

4、 超大规模数据中心
!W$B[|d{0yI0系统硬件配置: ITPUB个人空间 E+Yy'mjD+d/Vew
CPUS = 64
!XmRlRa0Main Memory 32GB ITPUB个人空间,a }7EF2`*Y{f:Kzv3_$@
Disk = 3TB ITPUB个人空间6W J l(l Io zYP T
Users = 1,000 ITPUB个人空间 eF^ XX
The DBA makes the following settings: ITPUB个人空间Jn,r$p!e)eKK~8lP
n PARALLEL_AUTOMATIC_TUNING = TRUE
Z(_i:gY0n PARALLEL_MAX_SERVERS = 600
%Kz!N5nG#o| a0n PARALLEL_MIN_SERVER = 600
\BY? L q8[4r~ O{0n LARGE_POOL_SIZE = 1,300MB ITPUB个人空间n&FPk~
n SHARED_POOL_SIZE = 500MB ITPUB个人空间yz$I:c0p \O0A2Ay
n PROCESSES = 800 ITPUB个人空间 { r|4| \\ff+N
n SESSIONS = 900 ITPUB个人空间#k:@K4k'w,m^b~U*v
n TRANSACTIONS = 1,024
-K.@[wA!XT3n#Q0Parameter Settings for DOP and the Adaptive Multi-User Feature
2nnoCHo.sE+hD$d.E0The DBA has carefully evaluated which users and tables require parallelism and
ew-jo)kX0has set the values according to their requirements. The DBA has taken all steps
xl I)eC~0mentioned in the earlier examples, but in addition, the DBA also uses the following
WiJi-M4L0command during peak user hours to enable the adaptive DOP algorithms:
|3X C-I6m~9zKQe5Uc0ALTER SYSTEM SET PARALLEL_ADAPTIVE_MULTI_USER = TRUE; ITPUB个人空间q`i-Gg1]
During off hours when batch processing is about to begin, the DBA disables ITPUB个人空间 t+kz,G;J7Rw5bs
adaptive processing by issuing the command:
5u3U?5M?`0ALTER SYSTEM SET PARALLEL_ADAPTIVE_MULTI_USER = FALSE;


#R#Ot*N-j w0


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-24  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 12228
  • 日志数: 273
  • 图片数: 1
  • 文件数: 2
  • 建立时间: 2007-12-01
  • 更新时间: 2008-11-19

RSS订阅

Open Toolbar