记录Oracle因连接数不足导致的故障处理

现象

接到用户反馈数据查询缓慢,逐渐演变为系统无法登录,无法使用。在后台通过Navicat无法连接数据库,错误信息为 TNS:listener could not find available handler with matching protocol stack

原因

初步判断问题为Oracle数据库连接数不足。

解决步骤

1.登录Oracle服务器,使用su - oracle 切换Linux用户。


su - oracle

2.登录Oracle,使用nolog模式并以sysdba权限登录数据库


sqlplus /nolog

conn /as sysdba

此时碰到问题,连接数已被占满,无法连接,提示 ORA-00020: maximum number of processes (150) exceeded,想起来应用还没有停,于是将所有应用停止,释放连接。应用停止后成功登录。

3.修改进程最大连接数


alter system set processes = 300 scope = spfile;

4.重启Oracle服务,如果shutdown immediate长时间无响应可以使用shutdown abort


shutdown immediate;

startup;

#若shutdown immediate无响应,可使用以下命令

shutdown abort

5.查看最大连接数是否生效


select value from v$parameter where name ='processes';

你可能感兴趣的:(记录Oracle因连接数不足导致的故障处理)