您的位置:首页 > 数据库 > Oracle

Oracle RAC 跨节点并行运算

2014-03-05 10:28 267 查看
Oracle RAC 跨节点并行运算 RAC的一大优点就是可以跨节点进行并行计算,那么如何控制并行运算?
合理设置跨节点并行,需要先设置一些参数:
instance_groups:这个参数主要是设置该节点实例是否属于某一个实例组。每个节点可以设置多个不同的实例组名,实例组名用逗号隔开。
parallel_instance_group设置的值为instance_groups里面设置的值,表明这个节点上面进行的并行操作可以跨越哪些实例组。

案例: 验证rac 并行计算

1、配置实例并行计算
SQL> alter system set instance_groups ='dw','dw1','dw123' scope=spfile sid='prod1';

System altered.

SQL> alter system set instance_groups ='dw','dw2','dw123' scope=spfile sid='prod2';

System altered.

SQL> alter system set instance_groups ='dw','dw2','dw234' scope=spfile sid='prod3';

System altered.
instance_groups :设置instance 组,如上所示:dw 组包含所有实例,dw1,dw2,dw3 只包含单个实例,dw123 包含两个实例,dw234 包含一个实例
parallel_instance_group: 如果不设置,默认在任何实例上的并行操作都会分布到所有实例上,设置parallel_instance_group后,指定只在那个实例组指定的实例上做并行操作
如:parallel_instance_group = dw ,则所有的实例都会做并行(dw 包含所有实例)
parallel_instance_group = dw1 ,则并行操作只在实例1上进行

设置如下:

在实例 1上:
1、配置参数
SQL> show parameter instance_group

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_groups string dw,dw1,dw123
parallel_instance_group string ;参数为空,则会在所有实例上运行并行操作

2、scott 用户做并行操作
SQL> conn scott/tiger
Connected.
SQL> alter session enable parallel dml;

Session altered.

SQL> alter table emp1 parallel;

SQL> insert /*+ parallel(emp1 4) */ into emp1 select * from emp;

14 rows created.

SQL> rollback;

Rollback complete.

SQL> insert /*+ parallel(emp1 4) */ into emp1 select * from emp;

14 rows created.

3、查看并行结果
SQL> select inst_id ,sid from gv$session where username='SCOTT';

INST_ID SID
---------- ----------
1 126
1 134
1 152
3 124
3 125
3 141
3 145
2 126
2 147

9 rows selected.
配置如下:

SQL> alter system set parallel_instance_group ='dw123';

System altered.

SQL> show parameter instance_group

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_groups string dw,dw1, dw123
parallel_instance_group string dw123
SQL>
SQL> select inst_id ,sid from gv$session where username='SCOTT';
INST_ID SID
---------- ----------
1 116
1 120
1 121
1 122
1 129
2 122
2 123
2 134
2 135

9 rows selected.

parallel_instance_group= dw123, dw123 组包含实例1和2 ,所以并行操作选择实例1和2 。

本文出自 “天涯客的blog” 博客,请务必保留此出处http://tiany.blog.51cto.com/513694/1368008
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: