parallel_max_server参数
来源:互联网 发布:搜索排名优化哪家好 编辑:程序博客网 时间:2024/06/05 06:06
前面一篇文章讲述了oracle cpu_count过高引发了一个bug,导数oracle无法启动,详见连接
http://blog.csdn.net/xionglang7/article/details/9181791
这个是测试库的问题,但是过了两天生产库也出现同样的问题了,所以大家彻查了一下原因。
目前了解的情况是与CPU核数过高、数据库的并行参数(paraller_max_server)设置过高(256)等有关,ORACLE的算法在低版本有BUG(在cpu核数超过128、并行参数设置过高时容易触发)。
Alert日志显示在进行一个insert语句时触发了该bug引起宕机。之后重启时由于并行恢复参数设置问题,同样触发了BUG,导致无法启动。经查询metalink,通过降低CPU核数绕过该bug,完成启动。目前metalink上未找到当前版本的补丁,后续将开展升级整改。
那么我们就来看看paraller_max_server这个东西是怎么计算的?
metlink上记录:
With 11.2.0.2 there is a new method to compute the default for PARALLEL_MAX_SERVERS.In the Oracle Rdbms Reference Guide we find:parallel_max_servers = PARALLEL_THREADS_PER_CPU * CPU_COUNT * concurrent_parallel_users * 5In the formula, the value assigned to concurrent_parallel_users running at the default degree of parallelism on an instance is dependent on the memory management setting. - If automatic memory management is disabled (manual mode), then the value of concurrent_parallel_users is 1. - If PGA automatic memory management is enabled, then the value of concurrent_parallel_users is 2. - If global memory management or SGA memory target is used in addition to PGA automatic memory management, then the value of concurrent_parallel_users is 4.The value is capped by processes -15 (this is true for versions prior 11.2.0.2 as well).As example we have the following valuesparallel_threads_per_cpu = 2cpu_count = 4pga_aggregate_target = 500Msga_target = 900Mprocesses = 150parallel_max_servers = 2 * 4 * 4 * 5 = 160parallel_max_servers = min( 150-15 , 160 ) = 135So with these values we get a default of 135 for parallel_max_servers.Note if the parallel_max_servers is reduced due to value of processes, then you see similar to the following in alert log (e.g. at instance start up):Mon May 06 18:43:06 2013Adjusting the default value of parameter parallel_max_serversfrom 160 to 135 due to the value of parameter processes (150)Starting ORACLE instance (normal)
所以如果这个参数太高,并行的进程就太大了,导数数据库无法承受。
这个参数值可以通过下面的语句查询:
select *from dba_hist_parameter b where b.parameter_name='parallel_max_servers'order by b.snap_id desc
从上面的内容看出oracle并行进程不能设置的太高。
- parallel_max_server参数
- $参数
- 参数++
- 参数
- 参数
- 参数
- 参数
- 参数
- 参数
- 参数
- 参数
- 参数
- 参数
- 参数
- 参数
- 命令行参数,程序参数
- 形式参数,实际参数
- this参数 扩展参数
- 每日一练(38) - 从上往下打印二叉树(二叉树的层次遍历)
- 判断iOS app 第一次启动
- 参加的活动---【创客马拉松·人物】罗未:走运营商路线是最有效的落地方式
- 邮件的发送和获取
- Maximum Depth of Binary Tree
- parallel_max_server参数
- 网站[高并发]下使用[静态方法]会造成页面无法访问
- MFC仿QQ好友列表控件
- 归并排序 全面总结 Merge Sort
- Apache 开启 mod_rewrite
- cell中button怎么得到对应cell的indexpath 以及关于UITableViewCellContentView的问题
- 智能推荐系统开发中的十个关键注意点
- 两个大整数相乘
- cell中button怎么得到对应cell的indexpath 以及关于UITableViewCellContentView的问题