Oracle系列---【数据库连接数超了,导致数据库连接不上,如何排查当前连接数,以及如何修改最大连接数限制?】
  Afe4H47zX3K6 2023年11月08日 26 0

数据库连接数超了,导致数据库连接不上,如何排查当前连接数,以及如何修改最大连接数限制?

1.对比当前连接数和最大连接数

如果差的比较少,比如相差十几,二十几,连不上的话,很有可能是用连接池连接,一次申请连接数大于剩余的连接数导致的。

#查看当前总连接数
SELECT count(*) FROM V$session;

#查看数据库设置的最大连接数,process的值即为最大连接数
SELECT * from V$PARAMETER WHERE NAME LIKE '%process%';#这条sql服务端和客户端都能执行;
show parameter process;#这条命令只能在服务端执行

2.分组查看每个用户的连接数情况

如果是有不用的服务占了大量连接,建议停掉这个不用的服务。如果确实不够用,再执行第三步的操作,修改最大连接限制。

#OSUSER:连接主机登录的用户名;  MACHINE:主机host;  USERNAME:数据库用户名;  STATUS:连接状态
select a.OSUSER,a.MACHINE, a.USERNAME,a.STATUS,COUNT(*) as CONNECT_NUM 
FROM V$SESSION a
LEFT JOIN "V$SQLAREA" b ON a.SQL_ADDRESS = b.ADDRESS
-- WHERE 
-- a.MACHINE LIKE 'afp-asset-center-%'
-- AND a.status != 'KILLED'
GROUP BY a.OSUSER,a.MACHINE, a.USERNAME,a.STATUS
ORDER BY CONNECT_NUM  DESC;

3.修改最大连接数限制

#登录dba账号
sqlplus / as sysdba;
#修改最大连接数,并持久化
alter system set processes=6000 scope=spfile;
#关闭数据库
shutdown immediate;
#启动数据库
startup;

愿你走出半生,归来仍是少年!



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
Afe4H47zX3K6