我最近再给用户上线一个项目的时候,再用户使用过程中,出现一个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;
?
以上方法,就可以解决数据库连接数的问题。
?
?