问题描述
jdbc连接Oracle失败,报错日志如下:
Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found The Connection descriptor used by the client was:192.9.100.217:7001:wcm
问题分析
通过以下语句查询分析到数据库上当前的连接数目已经超过了它能够处理的最大值.修改数据库允许的最大连接数即可解决。
- 查询当前连接数
select count(*) from v$process;
- 查询数据库最大连接数设置
select value from v$parameter where name = 'processes';
解决问题
-- 修改最大连接数:
alter system set processes = 300 scope = spfile;
-- 重启数据库:
shutdown immediate;
startup;
-- 查看当前有哪些用户正在使用数据
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;
其他问题
如果在执行停止和启动过程中碰到如下报错,请按步骤操作:
ORA-01507: database not mounted
ORA-01102: cannot mount database in EXCLUSIVE mode
查询进程发现Oracle的后台进程SMON未关闭,kill掉smon进程后重试即可。