楼主: firstshine

Open_cursors取多大比较合适?

[复制链接]
论坛徽章:
5
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB8周年纪念徽章
日期:2009-09-27 10:21:222013年新春福章
日期:2013-02-25 14:51:24
11#
发表于 2002-3-4 14:59 | 只看该作者
我也觉得不能够设置的太大。
上次开发一个项目的时候,就产生游标超出的问题,开始就把open_cursor设到一万,我们就继续开发完,也没有去解决这个问题,结果等最后要统一改程序的时候,比较麻烦了。因此还是早发现早解决为妙。

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2005-10-30 17:05:332014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
12#
发表于 2002-3-4 23:07 | 只看该作者

我总觉得不妥

将OPEN_CURSORS设置为2000或10K, 是否有些过大?!
是否有必要?
是否是SQL或PL/SQL的问题?
将OPEN_CURSORS加大的确可以比较有效地解决ORA-0600的问题
(主要是在递归方面), 可是将其设置为10K, 是否.....
GOOD LUCKY!

使用道具 举报

回复
论坛徽章:
5
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB8周年纪念徽章
日期:2009-09-27 10:21:222013年新春福章
日期:2013-02-25 14:51:24
13#
发表于 2002-3-5 14:30 | 只看该作者

请教相关问题

有谁知道java中Preparestatement对象建立之后如何关闭,我创建了这个对象,就会打开一个新游标,但没有close方法可以关闭它,应该怎样关呢?

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2007-08-21 09:19:50ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鼠
日期:2008-01-02 17:35:532010新春纪念徽章
日期:2010-03-01 11:19:07
14#
发表于 2007-8-27 14:49 | 只看该作者
今天也遇到这个问题了,ebs系统,导数据时发生01000,开始看了下,800,觉得是小了点,加到1200,不到两分钟又报错,2000,两分多。。。
现在我设成10000,准备时刻监控使用量

使用道具 举报

回复
论坛徽章:
1
祖国60周年纪念徽章
日期:2009-10-09 08:28:00
15#
发表于 2007-8-27 15:04 | 只看该作者
我们以前也发生过,当时设置了300,只是在某些操作出现错误,随后扩大了还不行。最后我们发现是Java程序员在使用JDBC操作时候没有CLOSE,后来感觉一味的往上加反而会掩盖BUG。

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2007-08-21 09:19:50ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鼠
日期:2008-01-02 17:35:532010新春纪念徽章
日期:2010-03-01 11:19:07
16#
发表于 2007-8-27 15:10 | 只看该作者
我们的系统是oracle ebs,在load数据的时候,明显没有分段提交,递归很多,应用需要设置一个比较大的值,在正常使用的时候还是不会出现这样的情况的。

使用道具 举报

回复
论坛徽章:
31
授权会员
日期:2007-06-28 08:52:11ITPUB元老
日期:2010-05-21 14:36:22ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-01-04 10:24:022011新春纪念徽章
日期:2011-02-18 11:43:34ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
17#
发表于 2007-8-27 15:27 | 只看该作者
关注!

使用道具 举报

回复
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53
18#
发表于 2007-8-27 15:51 | 只看该作者
ebs 默认 600
这个设大了如果问题程序比较多会增加内存负担。

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
19#
发表于 2007-8-27 16:34 | 只看该作者
1. 除非软件开发人员在特意利用cached cursor 特性,否则此值不应太高。
也就是说如果软件发人员没有特意利用cached cursor 特性,而这个又在设低时报错,那么,证明程序中有bug了
2, 这个值太高的话,很容易导致ORA-04031

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
20#
发表于 2007-8-27 16:47 | 只看该作者
2, 这个值太高的话,很容易导致ORA-04031
确切的说,如果一个程序需要DBA把open_cursor 提得很高才不会报错,那就证明程序同时打开的cursor太多了,而同时打开cursor太多的情况下,shared_pool的memeory 很难被重用,而且很容易有大量碎片。从而导致ora-4031的出现

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表