日期:2014-05-16  浏览次数:20486 次

ORA-12519: TNS:no appropriate service handler found 问题解决

我最近再给用户上线一个项目的时候,再用户使用过程中,出现一个bug:ORA-12519: TNS:no appropriate service handler found 。

?

? ?具体描述为:oracle数据库时不时的会连接不上。

? ?原因:可能是数据库上当前的连接数目已经超过了它能够处理的最大值。

?

解决方法如下:

1.首先,用管理员用户登陆,查看当前数据库的连接数和数据库允许的最大连接数据,并修改最大连接数。命令如下:

切换oralce用户
    su - oracle

使用管理员用户登陆
    sqlplus / as  sysdba;

查看当前数据库连接数
SQL > select count(*) from v$process;

查看数据库允许的最大连接数
SQL > select value from v$parameter where name = 'processes' ;

如果数据库连接数超过最大连接数,请修改最大连接数,我这里修改成了1000
SQL > alter system set processes = 1000 scope = spfile;

?

2.其次,重启数据库。完毕

SQL > shutdown immediate;
SQL > startup;

?

3.查看当前有哪些用户正在使用数据,命令如下:

SQL > 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;

?

以上方法,就可以解决数据库连接数的问题。

?

?