2 wu xiao sheng wu_xiao_sheng 于 2016.03.28 10:46 提问

什么情况下会出现oracle数据库自身连接超出最大连接数 ----急急急!!! 5C

这些天一直被这个问题困扰,oracle连接超出最大连接数。原以为是tomcat程序还有没释放的连接,但是经过追踪审查之后发现不是程序的问题,而是数据库本身连接数异常多。下面是我操作过程。

重启oracle服务后,登陆sqlplus。
SQL> select count(*) from v$session;
SQL> show parameter processes;
SQL> show parameter sessions;
之前都是150,后来修改了成了500
SQL> alter system set processes=500 scope=spfile;
SQL> shutdown immediate;
SQL> startup
重启tomcat服务。
改完之后发现,过一段时间之后依然会冲到496个连接,不是改了最大连接数就能解决的。
SQL> select sid,serial#,a.* from v$session a where username='BOSS';
BOSS为正式数据库用户。
这个连接数很正常,也很稳定,基本在20个左右。
SQL> select sid,serial#,a.* from v$session a where username<>'BOSS';
不等于BOSS的基本上就是boss2这个用户在连接,boss2是数据库服务器名称。
请问大神这个是什么原因导致的?有什么解决办法吗?

6个回答

wu_xiao_sheng
wu_xiao_sheng   2016.03.28 11:19

说错了,应该是这样的,boss2是MACHINE,SYSMAN是用户。
图片说明

Royal_lr
Royal_lr   Ds   Rxr 2016.03.28 11:42

连接没有释放的话,,迟早会达到最大连接,,一般连接用完就关闭

wu_xiao_sheng
wu_xiao_sheng   2016.03.28 13:34

恩 我在从程序角度查看一下有没有可能导致了这个问题。主要是程序稳定运行了很长时间了,如果有没有关闭的连接,最开始就不能正常运行。就在前两天出现了这个问题,在v$session, v$process中都可以看到会话数与进程数都在持续不断往上涨,两个方面增长的根源来自于不同的用户,v$process中的用户是SYSTEM,v$session中的用户是SYSMAN。执行killsession后,立马又重新生成新的session。

wu_xiao_sheng
wu_xiao_sheng   2016.03.28 14:15

SYSMAN是关于oracle的EM管理的用户,如果不修改什么设置的话,实际没什么用。查看连接最多的就是这个用户,于是就把oracleEM管理的相关服务停掉了。OracleDBConsolboss服务停止后,连接数正常了。但是这只是暂缓之计,具体原因出在哪还没找出。求各位大神指导。

zhangjs712
zhangjs712   2016.03.29 09:08

1、系统有没有连接池的监控,可以查看当前活动的连接。
2、另外有没有可能是oracle的连接数设置的太小,而系统的用户太多已经超过了连接数的设置。

wu_xiao_sheng
wu_xiao_sheng   2016.03.30 18:20

系统有连接池的监控,都很正常。
oracle连接数之前是有点小为默认的150,后来调整到了500,肯定够用了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Oracle超出最大连接数问题及解决(…
用过Oracle的应该都熟悉如何查看和设置Oracle数据库的最大连接数。这里就再啰嗦一遍。 查看当前的连接数,可以用select count(*) from v$process; 设置的最大连接数(默认值为150)select value from v$parameter where name = ‘processes’; 修改最大连接数alter system set processes
MYSQL超过最大连接数问题
异常:严重: Servlet.service() for servlet [jsp] in context with path [/OS_Website] threw exception [javax.servlet.ServletException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Dat
如何解决终端服务器超出最大允许连接数
方法一: 1. win + R 2. mstsc /v x.x.x.x /console 3. 输入用户名和密码 方法二: win,cmd,query user /server:x.x.x.x , rdp 均为远程用户连接回话; logoff id /server:x.x.x.x 方法三: 1. win + R 2. tsadmin 3. 打开终端服务管理器,操作-连接到计算机
circle类的实现
circle类的实现 斤斤计较急急急急急急急急急急急急急急急斤斤计较急急急急急急急急急急急急急急急
解决服务器远程桌面超过最大连接数的办法!
mstsc /console /v:Server Ip:Port 一般这样就可以解决
Oracle数据库当前连接数 允许的最大连接数 修改最大连接数
记下方便查询使用: --当前的数据库连接数 select count(*) from v$process  --数据库允许的最大连接数 select value from v$parameter where name = 'processes'; or show parameter processes; --修改最大连接数 alter system se
急急急!!!关于用循环输出ArrayList中对象问题
我从数据库中搜索出几条记录存在ArrayList中,再用输出时页面重复显示最后一条记录,请问是哪有毛病啊,记录数目与从数据库中取出是一样的, 有点乱,大家帮帮忙吧? 只有页面体部分,我是实在找不到哪有问题,我在action中检索 记录存放在ArrayList,并将它设置为session属性,下面是forword页面 商品搜索结果: 总共有:${fn:length (prod
增加oracle数据库最大连接数
     这几天碰到系统不能登陆的情况,初步判断可能是数据库连接满了,(后来检查不是这个原因),做了一次增加数据库最大连接数操作。操作步骤如下      操作系统:SUSE linux11  数据库oracle10g 1,查看当前会话数SQL> conn / as sysdba已连接。SQL> select count(*) from v$session;  COUNT(*)-----
win2003终端服务器超出了最大允许连接数解决方案
Win2003 超出最大允许连接数解决方案   1 、找到一台能连上网络的 windows2003 的机器   2 、开始–运行–输入“tsmmc.msc”,跳出一个远程桌面控制台   3 、右键点击左边的“远程桌面”,选择“新建远程桌
Windows2003终端服务器超出了最大允许连接数
转自:http://blog.sina.com.cn/darkmoon624 Windows2003终端服务器超出了最大允许连接数     今天用远程桌面连接登录到终端服务器时,总是弹出“终端服务器超出最大允许连接数”,无法正常登录服务器。上网一查才知道:引起该问题的原因在于Windows Server 2003中设置终端服务的缺省连接数为2个链接,并且当登录远程桌面后如果不是采用注销方