从oracle数据库检索数据时出现多线程问题(数据库SID自动被杀死)

时间:2011-10-12 10:18:24

标签: java database oracle

我有一个java程序,它有12个不同优先级的线程。其中12个从oracle数据库中检索一些信息。(数据库的大小非常大,每个查询需要大约60到90分钟才能完成执行。)

有时候程序执行正常并给出了确切的结果,有些时候,在这12个线程中有一两个失败而没有向控制台抛出任何异常。 (所有例外都在程序内处理)

我们观察到的是数据库SID在那种情况下会在一段时间后自动被杀死。

  1. 如果SID被DB杀死,如果连接在中间终止,我的程序必须向控制台抛出异常。这里没有发生这种情况。该计划继续运行....
  2. 我们已经与DBA核实过了。他们说没有锁,或没有等待条件,或者没有为数据库配置文件设置默认会话超时参数。允许的最大连接数为1000。
  3. 尽管如此,我的程序有时候还不能正常工作。 为什么会这样?这是应用程序错误吗?或数据库错误?

    我使用的是Java5和Oracle 9i,而中间件是JDBC。

    请建议..... 谢谢, ABCReddy

0 个答案:

没有答案