加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SQL Error: 17002 Cannot open connection 修改oracle数据库连接数

(2011-03-11 10:45:34)
标签:

oracle

连接数

最大连接

sqlerror

17002

cannot

open

connection

it

分类: 数据库

SQL Error: 17002 Cannot open connection 修改oracle数据库连接数

 

现象:

tomcat启动一段时间后,抛出异常,异常信息如下:

2011-03-10 16:15:00,579 WARN [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: 17002, SQLState: null>
2011-03-10 16:15:00,579 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Io exception: Got minus one from a read call>
2011-03-10 16:15:00,579 WARN [org.hibernate.util.JDBCExceptionReporter] - <SQL Error: 17002, SQLState: null>
2011-03-10 16:15:00,579 ERROR [org.hibernate.util.JDBCExceptionReporter] - <Io exception: Got minus one from a read call>
2011-03-10 16:15:00,580 DEBUG [org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator] - <Translating SQLException with SQL state 'null', error code '17002', message [Io exception: Got minus one from a read call]; SQL was [???] for task [Hibernate operation: Cannot open connection]>

 

数据库无法连接导致程序抛出异常。

 

原因:
导致上述错误的原因是,oracle在提供服务过程中会有一个连接数的限制,当连接数的数量超过它的限定值时(一般默认为150),外部连接就会被拒绝(ERROR-IO异常:Connection refused)

错误原因一般有:

1.程序员在程序中创建了数据库连接,当多用户使用系统时,连接数很容易达到连接限制。

2.当系统负荷较大时,连接数也可能达到这个上限。

 

解决方法:

修改oracle的连接数限制

1.查看oracle的当前连接数限制

select value from v$parameter where name = 'processes'

 

2.更改oracle连接数

alter system set processes = 300 scope = spfile;

 

以上操作需要数据库管理员权限才能执行,操作后需重启数据库,连接才生效;

 

0

阅读 收藏 喜欢 打印举报/Report
前一篇:ulimit参数详解
后一篇:Axure重要资源
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有