改善并行的优化手段:
1.重新调度并行SQL,以便它们不会试图并发执行。如果PARALLEL_DEGREE_POLICY被设成AUTO,oracle11G发行版本2可以自动重新调度SQL。
2.调整并行配置的参数以允许更大的并发并行。可能通过增加PARALLEL_THREADS_PER_CPU或PARALLEL_MAX_SERVERS来实现此目的。风险是并行执行的数量将大于系统能够支持的个数,导致SQL性能的下降。
3.增加数据库服务器的能力,可以增加CPU 的个数,RAC集群的实例个数和磁盘阵列的磁盘个数。
4.调整PARALLEL_MIN_PERCENT允许SQL以减少的并行数运行,而不是发出一个错误。
V$PQ_TQSTAT 可以看到每个集合间传输数据的信息
V$PQ_SLAVE
V$PX_SESSION 实时得到系统正在发生的并行执行的视图,可以结合V$SESSION,V$SQL的关联来查询
V$SYSSTAT 包含一些与并行查询降级有关的统计数据
并行过程中的串行,会影响整体的性能
高效的并行依赖于并行子进程处理的均匀分布,可以使用V$PQ_TQSTAT视图来评估并行子进程的负载均衡的效率。
PARALLEL_FORCE_LOCAL可以设置为限制并行处理只针对当前实例
基于索引的查询通常是不能并行的。但是如果涉及的索引是分区表的本地索引,使用该索引的查找可以被并行处理。
并行搜集统计信息
exec dbms_stats.gather_table_stats(ownname=>'SCOTT',tabname=>'T1',CASCADE=>TRUE,ESTIMATE_PERCENT=>