ORA-12519:TNS:no appropriate service handler found 的解决方法

基本现象:
在Windows XP + Oracle 10g 的环境下跑Java程序的Junit测试用例时,每当跑到120几个JunitTest时就会报如下错误,中间似乎有个很短的停顿刷新,然后又可以正常跑后面程序:
Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found The Connection descriptor used by the client was:......
调查原因:
可能是数据库中当前的连接数目已经超过了它能够处理的最大值。
解决方案:
1.获取DB当前连接数:
SQL> select count(*) from v$process;   --当前连接数
     COUNT(*)
     28
2.获取DB允许的最大连接数:
SQL> select value fromv$parameter where name = 'processes';   --数据库允许的最大连接数
     VALUE
     150
Oracle安装时的连接数默认是150.此时会发现DB的连接数已经不满足程序继续往下测的需求了,所以会出现"Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found".所以这里需要修改DB的连接数来确保JunitTest的正常运行。
3.修改最大连接数:
SQL> alter system setprocesses = 1000scope = spfile;   --修改最大连接数
4.重启数据库:
SQL> shutdown immediate;
SQL> 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;
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值