有程序沒關閉游標,
--打開了哪些游標 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;