最近oracle数据库莫名其妙的连接不上,plsql连接报错,sqlplus终端打开时提示ora-00020错误,下面记录一下本次问题的解决过程。
1.sqlplus 登录数据库
select count(*) from v$process;–当前一共有多少process(感觉没啥参考价值)
show parameter sessions; --当前配置的会话数。
select count(*) from v$session;–当前会话数,一般情况出现异常情况下这个session可能会较大。
kill掉异常的会话
select sid,serial#,username,program,machine,status from v$session;
alter system kill session ‘12,1736’;–12是sid 1736是serial#
SQL> alter system set processes=1000 scope=spfile;
SQL> SHUTDOWN IMMEDIATE;(一定要等待一会,不要着急)
SQL> STARTUP;
后记:通过查看oracle的监听日志,可以发现是哪个ip地址在连接oracle数据库,再到对应的ip地址下通过netstate 命令分析是哪个程序异常连接。