Parallel Query 导致的ORA-04031(三)

2015-01-21 12:18:03 · 作者: · 浏览: 14
。parallel_max_server更是高达好几千了。


还有一点,他的参数parallel_force_local是ture,这也导致parallel进程只能在单个实例进行分配。


其实上述信息都不是重要的,更重要也是更致命的一点的是,并行查询使用的Px msg pool居然从shared pool了进行分配了。


我看信息,他这里的large pool设置高达10gb啊,其实是完全没用派上用场。


对于Px msg pool,如果你的数据库PARALLEL_MIN_SERVERS比较大(这里就是比较大),那么当数据库启动时候,可能Px msg pool就会消耗不少的内存的。


对于Parallel操作的内存消耗Px memory,可以从large pool分配,也可以从shared pool进行分配。这里需要注意,即使你设置了large pool,如果不满足下面的条件,那么Px memory仍然会从shared pool去分配。


1) parallel_automatic_tuning 参数设置为auto
2) _PX_use_large_pool 隐含参数设置为true
3) 使用ASMM ,即使设置了sga_target 或 memory_target.


很遗憾的是,他这里3点都不满足。