12
返回列表 发新帖
楼主: wandajie

建序列使用缓存CACHE与不使用缓存NOCACHE有什么区别?

[复制链接]
论坛徽章:
2
生肖徽章2007版:羊
日期:2008-12-25 12:01:032011新春纪念徽章
日期:2011-02-18 11:43:35
11#
发表于 2007-4-13 08:58 | 只看该作者
回楼上的,cache会把sequence缓存在lb cache中,在lb cache中对对象的age out是基于lru算法的,如果cache 20,会把这个序列每次取的时候取出来20个,然后再在lb cache中一个一个用,但是如果在用完这20个之前,这个序列被aged out了,那么没用的那些数就丢掉了,而下次再去从dd取出sequence的时候就会去取上次那20个+1的号为开始,再来20个。这就是产生断号的原因。嗯,总的原因就是:sequence用的不频繁,并且cache之后被aged out.
解决方法一个是不cache,另外一个就是在lb cache中将其钉在lb cache,从而不会aged out。

使用道具 举报

回复
论坛徽章:
20
授权会员
日期:2005-11-02 13:35:57ITPUB8周年纪念徽章
日期:2009-09-27 10:21:22祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:兔
日期:2009-11-13 10:54:06生肖徽章2007版:蛇
日期:2009-11-28 18:44:592010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-03-01 11:06:292010年世界杯参赛球队:瑞士
日期:2010-04-03 20:50:32ITPUB9周年纪念徽章
日期:2010-10-08 09:31:212009日食纪念
日期:2009-07-22 09:30:00
12#
发表于 2007-4-13 09:04 | 只看该作者
最初由 neilkooo 发布
[B]回楼上的,cache会把sequence缓存在lb cache中,在lb cache中对对象的age out是基于lru算法的,如果cache 20,会把这个序列每次取的时候取出来20个,然后再在lb cache中一个一个用,但是如果在用完这20个之前,这个序列被aged out了,那么没用的那些数就丢掉了,而下次再去从dd取出sequence的时候就会去取上次那20个+1的号为开始,再来20个。这就是产生断号的原因。嗯,总的原因就是:sequence用的不频繁,并且cache之后被aged out.
解决方法一个是不cache,另外一个就是在lb cache中将其钉在lb cache,从而不会aged out。 [/B]

这个只是一方面吧,另外我所有的事务不一定都成功啊,从seq拿出来应该就放不回去了,事务rollback了,这个seq就被浪费了,断点也就产生了

使用道具 举报

回复
论坛徽章:
2
生肖徽章2007版:羊
日期:2008-12-25 12:01:032011新春纪念徽章
日期:2011-02-18 11:43:35
13#
发表于 2007-4-13 09:35 | 只看该作者
顶楼上的,综合起来就是产生断点的原因!

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2006-06-26 09:16:31会员2007贡献徽章
日期:2007-09-26 18:42:10
14#
发表于 2007-4-16 15:54 | 只看该作者
When database is restarted or crashed, cached sequence also will be lost.

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2007-09-19 14:10:06ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
15#
发表于 2007-4-24 16:16 | 只看该作者
最初由 Talmud 发布
[B]When database is restarted or crashed, cached sequence also will be lost. [/B]

赞同!sequence设cache之后只要有异常,就容易产生跳号!

使用道具 举报

回复
论坛徽章:
50
2014年世界杯参赛球队: 荷兰
日期:2014-07-11 07:56:59蛋疼蛋
日期:2012-03-06 07:22:542012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-01-04 11:53:29蛋疼蛋
日期:2011-11-11 15:47:00ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
16#
发表于 2007-4-26 21:11 | 只看该作者
最初由 zhang41082 发布
[B]
这个只是一方面吧,另外我所有的事务不一定都成功啊,从seq拿出来应该就放不回去了,事务rollback了,这个seq就被浪费了,断点也就产生了 [/B]


这一条原因的断号就是和是否CACHE没有关系了

使用道具 举报

回复
论坛徽章:
29
授权会员
日期:2006-09-06 10:13:102013年新春福章
日期:2013-02-25 14:51:24法拉利
日期:2013-08-25 18:34:31路虎
日期:2013-08-26 20:49:09问答徽章
日期:2013-11-26 08:58:15林肯
日期:2014-02-11 13:02:482014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112014年世界杯参赛球队:巴西
日期:2014-05-29 16:03:24马上有房
日期:2014-11-18 16:07:15
17#
发表于 2009-2-24 10:19 | 只看该作者
原帖由 zhang41082 于 2007-4-13 09:04 发表

这个只是一方面吧,另外我所有的事务不一定都成功啊,从seq拿出来应该就放不回去了,事务rollback了,这个seq就被浪费了,断点也就产生了



如果序列没加cache,出现上边的情况,序列也会断号不连续吧

使用道具 举报

回复
论坛徽章:
1
ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
18#
发表于 2012-6-28 17:51 | 只看该作者
一个小小序列引发诸多问题,小瞧不得啊。。。我们的环境就存在类似序列中转的情况,建议no cache

使用道具 举报

回复

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

本版积分规则 发表回复

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