您好,欢迎来到榕意旅游网。
搜索
您的当前位置:首页ORA-00020超出最大进程数的解决方法

ORA-00020超出最大进程数的解决方法

来源:榕意旅游网
ORA-00020超出最大进程数的解决方法

ORA-00020超出最大进程数的解决方法 1 原因:

一般原因是因为你的应用程序的连接数超过了ORACLE系统设置的最大连接数。

2 解决方法:

⑴方法一:修改初始化参数。 ⑵方法二:使用OEM进行修改。 set oracle_sid=xxx export oracle_sid=xxx

在OEM的Instance的Configuration下打开All initialization parameters,找到Processes项,

该项系统安装一般默认为150,你可以修改到你想需要的,一般为200~2000之间。

修改之后需要重新启动数据库,建议最好重新启动操作系统。 备注:

连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:

sessions=(1.1*process+5)

为什么增加了process数后,数据库往往不能启动了,这是因为我们还漏掉了一个unix

系统参数,即/etc/system/中的semmns,这是unix系统的信号量参数,每个process会占

用一个信号量(即semmns的值必须远大于process的值),修改semmns后,需要重新启

动unix操作系统,该参数才能生效。不过它的大小会受制于硬件的内存或ORACLE SGA,

范围在200~~2000之间。 semmns的计算公式为:

SEMMNS>processes+instance_processes+system processes=数据库参数processes的值。

instance_processes=5(smon,pmon,dbwr,lgwr,arch)。 system=系统所占用信号量。

系统所占用信号量可用下列命令查出ipcs -sb,其中列NSEMS 显示系统已占用信号量。

其他:其它一些跟连接有关的参数,如licence_max_sessions, licence_sessions_warning 等

默认设置都为零,也就是没有。我们可以放心大胆地使用数据库了。

3 总结:

⑴查询实例的smon,pmon,dbwr,lgwr,arch进程的总数: ps -ef | grep smon | wc -l ps -ef | grep pmon | wc -l ps -ef | grep dbwr | wc -l ps -ef | grep lgwr | wc -l 其他相关的,但和并方案无关:

ps -ef | grep 实例名| wc –l (这是查询该实例下的所有进程的总数)

⑵查询系统所占用信号量:

ipcs -sb | grep ,对NSEMS列的值进行统计相加。 ⑶查看初始化参数文件中processes参数的值。 ⑷计算出OS参数SEMMNS的值。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务