数据库为Oracle,系统运行中,出现ORA-01000: maximum open cursors exceeded的异常。
可能的原因:
1.statement未关闭,比如在一个循环中的statement未关闭。
2.oracle的cursor不够大。
3. oracle的存储段设置太小。
解决办法:
1. 检查程序,关闭未关闭的statement。
2. 设置大点的oracle的cursor数,alter system set open_cursors=1000 spfile
3. 设置大点的存储段, ALTER TABLE tablename STORAGE( NEXT N)
查看cursor的sql语句为:
SELECT * FROM V$OPEN_CURSOR