ORA-12519: TNS:no appropriate service handler found 解决
有时候连得上数据库,有时候又连不上.
可能是数据库上当前的连接数目已经超过了它能够处理的最大值.
select
count(
*)
from v$process
--
当前的连接数
select value from v$parameter where name = ' processes ' -- 数据库允许的最大连接数
select value from v$parameter where name = ' processes ' -- 数据库允许的最大连接数
解决方案:
修改oracle的process和session值,加大他们最大连接数。
oracle文档要求,
SESSIONS和TRANSACTIONS的初始化参数应该源于PROCESSES参数,根据默认设置SESSIONS = PROCESSES * 1.1 + 5
alter system set processes=300 scope=spfile; 修改当前连接数
alter system set sessions=335 scope=spfile;
修改最大连接数
重启数据库后参数修改完成
shutdown immediate; 如果长时间没反应可能是连接请求没又关闭,也可以使用 abort参数直接关闭
startup; 可以用 force参数 关闭当前运行数据库后正常启动。
-- 查看当前有哪些用户正在使用数据
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;
重启数据库后参数修改完成
shutdown immediate; 如果长时间没反应可能是连接请求没又关闭,也可以使用 abort参数直接关闭
startup; 可以用 force参数 关闭当前运行数据库后正常启动。
-- 查看当前有哪些用户正在使用数据
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;