【发布时间】:2015-11-01 14:30:33
【问题描述】:
我有一个用 Java 6 编写的批处理过程,其中 ojdbc6 驱动程序(以前为 ojdbc5)连接到 Oracle 11g。它挂在executeupdate() 方法上。该方法执行存储过程超过一个小时。
在存储过程更新了一些必要的表并提交了事务之后,它永远不会回到executeupdate()的java调用者。它在测试服务器上工作,但在生产服务器上挂起。
我之前怀疑是 ojdbc 驱动程序,但升级到 ojdbc6 后问题仍然存在。
【问题讨论】:
-
手动运行 SP 需要多长时间?
-
和java程序调用的一样。
-
在测试服务器上运行它也需要一个多小时吗?
-
这意味着您必须微调您的存储过程查询。检查正确的索引和性能提示。
-
@fuzzy28 如果您自己修复了它,您应该添加自己的答案并接受自己。