多数应用程序写得有问题,检查一下程序,CURSOR 打开没有关闭 SQL> SHOW PARAMETERS OPEN_CURSORS;NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ open_cursors integer 300SQL> ALTER SYSTEM SET OPEN_CURSORS=400;System altered
ibatis 是用 spring 的支持 getSqlMapClientTemplate() 应该不存在 连接 未关闭问题
解决办法有2:
1.将脚本拆成几份,分几次插入
2.在命令行模式下面执行,或者用sqlplus来执行sql脚本
SQL> SHOW PARAMETERS OPEN_CURSORS;NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 300SQL> ALTER SYSTEM SET OPEN_CURSORS=400;System altered
1.优化SQL语句或流程。
2.如楼上说的,增加打开游标的最大数。
但这不是解决问题的方法,不治本在pl/sql里注意 colse 游标
在程序端注意关闭连接,比如java: prepstmt.executeUpdate(); prepstmt.close();
是啊 ALTER SYSTEM SET OPEN_CURSORS= 这个改了也没用 程序 跑时间长了 一样崩溃
http://www.orafaq.com/forum/t/34813/0/