ORA-01000 - 超出最大打开游标 - Spring JDBC 3.2.5

时间:2014-09-22 12:12:17

标签: java spring weblogic oracle11gr2 cursors

我们在Weblogic Server 12c上运行了一个Java企业应用程序  使用 Spring JDBC 3.2.5 访问 Oracle 11gR2 数据库。  在生产环境中一段时间​​后,我们得到了这个例外:  " ORA-01000 - 超出最大打开游标" 和服务器实例需要  重新启动;似乎开放游标越来越多  直到达到Oracle上设置的最大阈值。增加  门槛并没有解决问题。  我们检查(非常大)的源代码,但我们没有找到任何意义  我们错过关闭连接的地方,此刻;而且我们通常  不打开和关闭连接,但我们使用Spring JdbcTemplate  处理数据库交互。  可能是一个春季问题?  任何提示?

2 个答案:

答案 0 :(得分:0)

oracle消息" ORA-01000 - 超出最大打开游标" 可能是因为未关闭PreparedStatementResultSet。每个PreparedStatementResultSet都是Oracle数据库中的游标。

要在短期内绕过此错误,您可以增加数据库中打开游标的限制(但迟早会再次出现)。

要绕过此错误,您必须审核整个应用程序并关闭所有已打开的PreparedStatementResultSet

此外,跟踪所有PreparedStatementResultSet的中间JDBC驱动程序可以帮助识别应用程序中存在问题的部分。

答案 1 :(得分:0)

那是Spring版本的错误。更新Spring库