解决方法:加大PROCESSES
sessions=(1.1*process+5)
show parameter processes;
show parameter sessions;
alter system set processes=300 scope=spfile;
alter system set sessions=335 scope=spfile;
需要附加的操作:
show parameter SHARED_SERVER;
alter system set SHARED_SERVER =10 scope=spfile;
但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/proc/kernel 中semmns,这是unix系统的信号量参数。每个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 -s
其中列NSEMS显示系统已占用信号量。其它一些跟连接有关的参数,如 licence_max_sessions, licence_sessions_warning 等默认设置都为零,也就是没有限制。我们可以放心大胆地使用数据库了。[@more@]
sessions=(1.1*process+5)
show parameter processes;
show parameter sessions;
alter system set processes=300 scope=spfile;
alter system set sessions=335 scope=spfile;
需要附加的操作:
show parameter SHARED_SERVER;
alter system set SHARED_SERVER =10 scope=spfile;
但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/proc/kernel 中semmns,这是unix系统的信号量参数。每个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 -s
其中列NSEMS显示系统已占用信号量。其它一些跟连接有关的参数,如 licence_max_sessions, licence_sessions_warning 等默认设置都为零,也就是没有限制。我们可以放心大胆地使用数据库了。[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12215378/viewspace-1011906/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12215378/viewspace-1011906/