打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
出错"ORA-01000: maximum open cursors exceeded"怎么解决
yangtingkun
发表于 2002-4-8 19:07:20
一般来说是游标不够用了。
只需在initSID.ora文件中加上一行
open_cursors = ****
但是,很可能是由于你的程序或数据库的结构存在着一些潜伏的问题,如jlandzpa所说,没有关闭游标等。

我的程序有一阵一直在报这个错误,把OPEN_CURSOR加大到了300甚至1000还在出错,后来发现是表的STORAGE设置有问题。

建议你查一下自己的程序。

Good Luck!

yangtingkun
发表于 2002-4-9 10:07:20 
昨天说的有些错误,应该是physical_attributes_clause语句。

我们系统的数据量比较大,近200张表,有些表一天要插入1000000条左右的数据。

表是使用ER/STDIO设计的,然后直接生成建表的脚本,由于没有设置physical_attributes_clause语

句中的建表参数,因此使用了默认的参数。好像是INITIAL 10K NEXT 10K PCTFREE 20 PCTUSED 50

由于表的存储空间太小,在很短的时间内就会装满,因此ORACLE就需要不停为30多张表(数据量较大的)申请空间。于是在程序运行了一段时间后,开始出现ORA-01000: maximum open cursors exceeded的错误。
我将游标大小改到了300,还是出现错误,改到1000以后开始出现了ORA-01001:invalid cursors。再怎么加大open_cursors的数量都无济于事。


使用select * from v$open_cursors查询,发现有几百条的INSERT语句游标没有释放。


开始怀疑是程序调用的问题,仔细检查程序没有发现问题。但是发现对某张表进行TRUNCATE操作后,对此表进行插入的游标全部释放,于是开始怀疑是表结构本身的问题。

重新设置了建表参数,将数据量最大的表的INITIAL和NEXT均设置为50M。

至今未再出现同样的错误。

(###)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
BlogJava - 天道酬勤 - 关于ORACLE游标的问题(ORA-01000: maximum open cursors exceeded)
oracle ORA-01000:maximum open cursors exceeded
关ORACLE Cursor的问题ORA-01000: maximum open cursors exceeded
SQLite入门与分析(三)---内核概述(1) --SQLite 中文社区-- http...
Oracle基本参数(OPEN_CURSORS)
解决ArcGIS中因SDE或数据库配置问题而导致服务宕掉的一种思路
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服