系统的session数过大,导致数据库进程数满,无法连接的问题。
oracle用户登录服务器,使用dba身份进入sqlplus:
命令:sqlplus / as sysdba
报错:ERROR: ORA-00020: maximum number of processes (1000) exceeded(线程数超过最大值1000了)
管理员也无法登陆数据库 只有关闭oracle 的监听:
命令:lsnrctl stop
关闭了监听,就不会有新的用户登录进来,也不会生成新的会话,占用进程了。
这个时候可以使用管理员登录了(sqlplus / as sysdba)
2、登陆数据库之后,查看会话session的使用情况
命令:select count(1) from v$session;
3、查看session数最多的机器
命令:select machine,count(1)coun from v$session group by machine order by 2 desc
;
4、下面命令可以查询到:占用session最多的机器、用户、程序的线程号(同系统进程号)这样,就找到占用session多的机器、用户、程序。
命令: