ora00020: maximum number of processes (150) exeeded
原因: 1.因为和数据库的连接超过的预设(150),所以数据库罢工了
2.应用程序在使用数据库连接池时,使用完成后没有及时关闭,或者不正常的关闭导致数据库的Process处于inactive状态
修改:
--1.连接数据库 sqlplus 账号/密码 as sysdba --如果无法登录,添加参数 -prelim sqlplus -prelim 账号/密码 as sysdba --2.查看进程数 show parameter proce --3.修改processes alter system set processes=500 scope=spfile; create pfile from spfile; --重要 --4.再次查看进程数,现在已经修改为500 show parameter proce --5.重启 shutdown immediate startup --6.完成
其他:
select count(*) from v$process --当前的连接数 select value from v$parameter where name = 'processes' --数据库允许的最大连接数 --查看当前有哪些用户正在使用数据 SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine from v$session a, v$sqlarea b where a.sql_address =b.address order by cpu_time/executions desc;