您的位置:首页 > 其它

ORA-12519错误解决方案

2014-06-16 16:43 246 查看
java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12519)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4))))

后来排查出数据库监听异常,发现是ORA-12519拒绝错误。后来发现是数据的连接池达到的极致。

具体解决方案如下:

--首先检查process和session的使用情况,在sqlplus里面查看。

SQL> show parameter processes

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

aq_tm_processes integer 0

db_writer_processes integer 6

gcs_server_processes integer 0

job_queue_processes integer 0

log_archive_max_processes integer 2

processes integer 150

SQL> select count(*) from v$process;

COUNT(*)

----------

147

--明显process已经几乎达到了顶峰。

SQL> show parameter session

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

java_max_sessionspace_size integer 0

java_soft_sessionspace_limit integer 0

license_max_sessions integer 0

license_sessions_warning integer 0

logmnr_max_persistent_sessions integer 1

session_cached_cursors integer 20

session_max_open_files integer 10

sessions integer 160

shared_server_sessions integer

SQL>

SQL> select count(*) from v$session;

COUNT(*)

----------

153

--同样几乎达到顶峰。

--修改oracle的process和session值,加大他们最大连接数。

--oracle文档要求,SESSIONS和TRANSACTIONS的初始化参数应该源于PROCESSES参数,根据默认设置SESSIONS
= PROCESSES * 1.1 + 5

SQL> alter system set processes=300 scope=spfile;

System altered.

SQL> alter system set sessions=335 scope=spfile;

System altered.

--重启数据库后参数修改完成

SQL> shutdown --如果长时间没反应可能是连接请求没又关闭,也可以使用 abort参数直接关闭

SQL> startup --可以用 force参数 关闭当前运行数据库后正常启动。

修改完毕之后,在进行压力测试的时候,问题解决。也可参考其他解决方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: