马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题描述:
测试环境功能验证过程中,测试反馈页面数据加载迟钝,接口查询超时的情况。
缘故原由分析:
1、有大概是数据库操作不停没释放连接。
2、项目使用数据库连接池,由于设置问题,造成连接不停未释放。
3、项目未使用数据库连接池,不停创建连接并未关闭连接。
解决方案:
1、可以先停止部分项目标历程。
2、增长数据库连接数。
3、排查连接数升高的问题。
排查思绪:
验证oracle服务是否正常
1、登录oracle服务器查看服务是否正常
- ##切换oracle用户
- su - oracle
- ##连接oracle
- sqlplus / as sysdba
复制代码 2、发现登录不进去,返回异常,大概意思是由于processes历程数达到了最大值,导致无法登录.
- ORA-00020:maximumnumber of processes(2000) exceeded
复制代码 释放连接数
两种方式:
1、关闭连接数据库的相关服务,让数据库连接数降下来。
2、停止监听服务,等待数据库访问连接数下降后再登录。
- #停止监听服务
- lsnrctl stop
- #启动监听服务
- lsnrctl start
复制代码 查询当前连接数
- select count(*), b.MACHINE, b.USERNAME , b.PROGRAM ,b.OSUSER from v$process a, v$session b where a.ADDR = b.PADDR and b.USERNAME is not null group by b.MACHINE , b.USERNAME , b.PROGRAM ,b.OSUSER
复制代码 如下图:
增长数据库连接数
- ##使用dba权限登录
- sqlplus / as sysdba
- ##查询数据库设置的最大连接数
- show parameter processes;
- ##修改最大连接数
- alter system set processes = 3000 scope = spfile;
- ##重启数据库
- shutdown immediate;
- startup;
- ##重新查询数据库设置的最大连接数
- show paratemer processes;
复制代码 排查连接数升高的问题
两种排查方向:
第一种:
1、通过查询当前连接数sql找到 连接数最多的连接。
2、通过连接信息中的username 从而找到开发的代码中使用的数据库连接信息的username。
3、排查服务中数据库连接信息,设置信息是否有问题。
第二种:
1、数据库服务地点服务器, 实行netstat -ano 命令来看所有连接,包含IP端口信息
- ##执行命令
- netstat -ano > 1.txt
复制代码
2、通过外部哀求IP端口,找到对应服务进行下一步排查。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |