今天在服务器上刚装好数据库,发现oracle进程有六十几个ora_p*_SID的进程,查了个资料才知道原来如此----这是并行执行的进程,对应的初始化参数是:PARALLEL_MAX_SERVERS
这个PARALLEL_MAX_SEVERS参数设置并行执行可用的最大进程数量,
该参数的缺省值如下得出:
对于9i
1.如果PARALLEL_AUTOMATIC_TUNING=FALSE
PARALLEL_MAX_SERVERS=5
2.如果PARALLEL_AUTOMATIC_TUNING=TRUE
PARALLEL_MAX_SERVERS=CPU_COUNT x 10
9i中PARALLEL_AUTOMATIC_TUNING默认为FALSE,所以PARALLEL_MAX_SERVERS默认为5
对于10g
1.如果PGA_AGGREGATE_TARGET >0
PARALLEL_MAX_SERVERS=CPU_COUNT x PARALLEL_THREADS_PER_CPU x 10
2.如果PGA_AGGREGATE_TARGET=0
PARALLEL_MAX_SERVERS=CPU_COUNT x PARALLEL_THREADS_PER_CPU x 5
PARALLEL_MAX_SERVERS参数主要用在OLAP数据仓库环境下(用于大量的并行查询),在一般的OLTP环境下,并不会用到太多的并行处理,可进一步将该参数减小至等于cpu数量。
我们服务器是16核的,我把它设置成16
alter system set PARALLEL_MAX_SERVERS=16 scope=both;
重启数据库后,发现这些进程不见了。
具体为什么还不知道,需要进一步深入.......
待后续
阅读(3629) | 评论(0) | 转发(1) |