Chinaunix首页 | 论坛 | 博客
  • 博客访问: 219295
  • 博文数量: 49
  • 博客积分: 1785
  • 博客等级: 上尉
  • 技术积分: 565
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-01 10:30
文章分类

全部博文(49)

文章存档

2013年(2)

2012年(7)

2011年(11)

2010年(6)

2009年(23)

我的朋友

分类: Oracle

2009-07-01 10:30:12

关于并行执行和parallel_max_server参数

parallel_max_server参数对并行执行会有限制,当前该参数值是5
SQL> show parameter parallel

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------
parallel_max_servers                 integer     5

将测试表的并行读提高到8
SQL>alter table tt parallel 8;  

然后执行一个查询
SQL>select * from tt;
...

在另外一个窗口,查询v$px_session视图检查并行执行的数量
select * from v$px_session 
 
sid  serial#  qcsid
10  6      10       
18  29    10 
23  3      10 
22  3      10 
21  3      10 
20  3      10      

可以看到一共六个session,其他五个session都是由SID 10 派生出来的。也就行说并行度只能达到5个。

现在将parallel_max_server修改为8,再次执行上面的步骤,可以看到一共有9个session,其他8个都是这个并行查询产生的。

之所以做这个测试,主要是在一次工作中,将并行读degree提的很高,但是没有确认parallel_max_servers的值,结果degree的值高于了parallel_max_servers,这样实际上degree并没有起作用。应该也提高parallel_max_servers的值以便符合并行要求。

阅读(2127) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:oracle10G streams 模式级复制

给主人留下些什么吧!~~