【发布时间】:2015-08-09 23:33:34
【问题描述】:
在 Oracle 11g 数据库上执行查询时,我的应用程序中出现 ora-01000 maximum open cursors exceeded 错误。我浏览了一些关于它的博客,发现: 如果应用程序打开的连接数超过 Oracle 的 OPEN_CURSOR 属性中指定的值,则会导致此问题。为 ResultSet 和 PreparedStatements 打开游标。
最好的解决方案是找到连接打开和未关闭的位置(可能 findbug 可以帮助解决这个问题)。
我在其中使用 Spring 数据访问和 JdbcTemplate,它管理所有这些连接、结果集、语句等的打开和关闭。 还使用了连接池。
我的疑问是,如果 Spring 正在管理所有连接处理(打开和关闭),那么我如何在我的应用程序中找到打开的连接,因为我不是管理它的人。
请给我一些提示,告诉我我可以检查什么。
【问题讨论】:
-
stackoverflow.com/questions/12192592/… 对此进行了很好的描述,但我更感兴趣的是如何在我的应用程序中找到打开的连接,其中连接由 Spring 处理
标签: spring oracle oracle11g spring-data