ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数


 有程序没关闭游标,

--打开了哪些游标
select * from v$open_cursor

 在open cursor之后一定要注意要close cursor(在store procedure里更应该如此,可能跳到exception里去了,exception里也要close cursor)

 

这样的错误很容易出现在Java代码中的主要原因是:Java代码在执行conn.createStatement()和 conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。尤其是,如果你的 createStatement和prepareStatement是在一个循环里面的话,就会非常容易出现这个问题。因为游标一直在不停的打开,而且没有关闭。

 

show parameter open_cursors;

alter system set open_cursors=1000 scope=both;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM