日期:2014-05-16 浏览次数:20495 次
首先说明一下这个错误的原因是session和process的连接已满所致.
?
查看session和process的使用数量:
select count(1) from v$session ;?
select count(1) from v$process ;
显示session和process的最大值:
show paramater session;
show parameter process;
?
设置session和process必须得有dba权限.
?
alter system set processes=200 scope=spfile;
session是个派生值,由process来决定,自动生成.生成公式为:sessions=1.1*processes+5.
?
下面是工作中解决问题的步骤:
?
1.登录到Linux服务器中在root用户下输入命令df -h,查看磁盘空间.正常.
2.登录到Linux服务器中在oracle用户下(su - oracle)输入命令crs_stat -t查看数据库实例的状态.都为ONLINE,正常.
3.试图在服务器上用sqlplus方法连接数据库,也没有成功.
4.试图用shutdown immediate和shutdown abort来停止数据库,也没有成功,报错为:ora-24324,ora-24323,ora-00020.
5.reboot服务器,起来之后能成功登录到数据库,输入命令show parameter session和show parameter process显示的结果为,session和process的最大连接数为300和335,属于正常.
6.运行命令select count(1) from v$session和select count(1) v$process执行的结果都在200以上,在数据库刚启动的情况下,会话和进程数就已经达到200以上了,这说明数据库还是不正常.
7.此时我在WebSphere上重启了一下应用,起来之后发现可以正常登录,便是左边的菜单还是不能正常显示,我查看了一下后台日志,后台显示有50几个进程被挂起.我想这就是数据库的session和process居高不下的原因吧.
8.在WebSphere中登上集群上的所有server,之后分别到相应节点中停止node,再到主控节点停止Manager,最后reboot所有节点所在机器.
9.机器正常启动后,先到主控节点startManager和startNode再到其他被控节点startNode.
10.到WebSphere上启动所有server,再到Web服务器中启动WebServer(这个是控制集群的).