oracle连接释放的问题

nizainade 2009-09-08 10:43:16
程序是jdbc连接oracle数据库的,因为有时候网络问题,可能会和数据库断开,所以在程序中加入了重连的机制,即每次执行sql语句出错的时候就断开原来的链接,不断的重新连接,直到连接成功。但测试结果发现,当网络断开时,会去重连,网络恢复了也能重新连接成功,但是连接数却增加了一个,请问这是什么问题?

网络断了,oracle客户端连接能断开吗,如果不行网络恢复了是否可以?
...全文
325 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nizainade 2009-09-09
  • 打赏
  • 举报
回复
to jinxino_o:

变成两个连接后,肯定是只用一个,关键是原来那个没法断掉。。。
雪狼__ 2009-09-09
  • 打赏
  • 举报
回复
如果有两个相同的session连接过来,根据时间把先连接的那个kill掉试试
nizainade 2009-09-08
  • 打赏
  • 举报
回复
to tianlesoftware:

说的有道理,那么请问怎么解决这种情况,如果网络情况不好的话,那连接岂不是一直在增加?谢谢!
Dave 2009-09-08
  • 打赏
  • 举报
回复
数据库的session 没有释放

正常下一个连接就是一个session,当事务操作结束后,session就结束释放了,但突然中断情况下,数据库并不知道,所以session没有释放,当你再次连接是,又会重新开启一个session。所以session就会多一个..

这个session可以手动的数据库后台kill掉.. 在数据库限定的session范围内(pfile里指定session数),连接是没有问题的,当session达到最高限额后,就不能在连接了..
qin_phoenix 2009-09-08
  • 打赏
  • 举报
回复
重新连接之前是否需要把先前的连接释放掉,认为是没有释放的原因。
  • 打赏
  • 举报
回复
其实你只要把不用的session断开就行了,oracle没那么傻......
  • 打赏
  • 举报
回复
专有模式下oracle的pmon会自动处理不可用的session的,除非你一直使用session,你变成俩连接的时候都使用吗?

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧