这玩意来自一篇03年的文档,估计很古老了,所以有些法则可能不适用,使用者请先在自己的环境验证
parallel_min_servers
最小并行进程数,在ORACLE实例启动的时候,将会自动启动这么多的并行进程放到进程池
parallel_max_servers
最大并行进程数。当需要的并行进程超过parallel_min_servers时,会自动生成新的并行进程来响应请求,但是总的并行进程数受parallel_max_servers限制
parallel_min_percent
最少进程的百分比。当新的申请超过parallel_max_servers的限制的时候,那么如果池中剩余的进程>申请的进程*parallel_min_percent,则会把池中所有剩余的进程全部分配给新的申请(注意:这个时候实际运行的并行度会比申请的并行度要低);反之,则会返回一个错误,表示没有足够的进程。设置为0,表示没有并行进程可用就串行;设置为100,表示必须有足够的并行进程才运行,否则就直接返回错误。
parallel_adaptive_multi_user
设置为TRUE,表示当系统负载很高的时候可以自动调整并减小并行度来适应系统负载;FALSE表示无论系统负责如何,都完全按照要求的并行度运行
parallel_threads_per_cpu
当parallel_adaptive_multi_user设置为TRUE时,系统根据parallel_threads_per_cpu来调整自适应的并行度(存疑)
parallel_automatic_tuning
设置为FALSE时,并行进程间需要交换的信息是缓存在SHARED_POOL中的;设置为TRUE时,信息缓存在LARGE_POOL中
parallel_execution_message_size
进程间信息交换的大小,当信息存在SHARED_POOL,也就是parallel_automatic_tuning为FALSE时,默认为2K;反之则默认为4K。提高这个值可以提高进程间信息交换的速度,但是
会占用更多的内存空间,适当的地方可以设置为8K。可根据v$px_process_sysstat视图中的Buffers HWM进行调整
并行相关的视图在V$PX_....中
[@more@]