我使用java写的程序,然后调用数据库,但过段时间就会报ORA-01000: maximum open cursors exceeded这个错误。
从网上查资料,说是连接的游标超过了最大数目。但是我关于数据集和链接的变量都关闭了,还有每个表空间的默认空间都是100M,下一次分配的空间也是100M。
我就不知道是为什么会报这样的错了,大家有了解这方面的吗?我用的是oracle10g
从网上查资料,说是连接的游标超过了最大数目。但是我关于数据集和链接的变量都关闭了,还有每个表空间的默认空间都是100M,下一次分配的空间也是100M。
我就不知道是为什么会报这样的错了,大家有了解这方面的吗?我用的是oracle10g
一般来说是游标不够用了。
只需在initSID.ora文件中加上一行
open_cursors = ****
先查看下当前设置:
select value from v$parameter where name = 'open_cursors';
然后修改:
alter system set open_cursors=300;
1.可能是有多于连接没关闭,但可能性不大
2.可以适当调大open_cursors参数
3.检查是否多客户端登陆时未使用连接池.
如开发用tomcat,发布时应考虑用jndi
sessions = 1.1 * processes + 5