数据库服务器的cpu数量越来越多
为充分提高性能,很多时候都会使用并行处理来提高运算速度
并行处理虽然可以在多个cpu上进行一个事务的处理,提高运算能力
但同时也有合并数据以及其他方面的开销
对于rac来说,如果一个并行操作跨了两个节点间的cpu来进行的话会加大私有网络的数据传输量
当大量的PX类等待事件出现的时候就要考虑是否要限制下节点间并行的进行
使用instance_group参数可以控制并行在同一个节点内进行
rac1.Instance_groups=rac1,rac
rac1.Parallel_instance_group=rac1
rac2.Instance_groups=rac2,rac
rac2.Parallel_instance_group=rac2
通过这些参数的设置,在缺省环境下,并行查询只能在实例内进行
因为每个实例的缺省PARALLEL_INSTANCE_GROUP都是实例名,
只有本实例的instance_groups参数中包含和本实例名相同的instance_group
而如果我们想要让某个SQL跨实例做并行查询的时候,可以通过下面的方法进行
alter session set parallel_instance_group='rac';