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

[参数设置] sequence的cache

[复制链接]
论坛徽章:
150
蓝锆石
日期:2011-11-16 22:31:22萤石
日期:2011-11-17 13:05:31祖母绿
日期:2008-06-14 15:23:26海蓝宝石
日期:2011-11-16 22:25:15紫水晶
日期:2011-11-16 22:31:22红宝石
日期:2011-10-09 08:54:30蓝锆石
日期:2009-01-31 15:20:54萤石
日期:2008-12-22 15:22:00祖母绿
日期:2011-11-17 13:13:26海蓝宝石
日期:2008-07-05 14:52:18
11#
发表于 2008-3-21 16:55 | 只看该作者
在dictionary cache里

使用道具 举报

回复
论坛徽章:
19
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442010年世界杯参赛球队:斯洛伐克
日期:2010-02-12 01:42:562010年世界杯参赛球队:阿尔及利亚
日期:2010-01-16 15:29:54生肖徽章2007版:牛
日期:2009-11-18 16:37:15生肖徽章2007版:牛
日期:2009-11-18 16:37:15生肖徽章2007版:牛
日期:2009-11-18 16:37:15生肖徽章2007版:牛
日期:2009-11-18 16:37:15生肖徽章2007版:牛
日期:2009-11-17 16:36:19生肖徽章2007版:牛
日期:2009-11-17 16:36:19生肖徽章2007版:牛
日期:2009-11-17 16:36:19
12#
 楼主| 发表于 2008-3-21 17:01 | 只看该作者
刚才测试了一下,两边都做select a.nextval from dual for update
发生TX锁,一边做select a.nextval from dual for update,另外一边select a.nextval from dual  根本不会发生锁.

[ 本帖最后由 hxhy 于 2008-3-21 17:04 编辑 ]

使用道具 举报

回复
论坛徽章:
19
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442010年世界杯参赛球队:斯洛伐克
日期:2010-02-12 01:42:562010年世界杯参赛球队:阿尔及利亚
日期:2010-01-16 15:29:54生肖徽章2007版:牛
日期:2009-11-18 16:37:15生肖徽章2007版:牛
日期:2009-11-18 16:37:15生肖徽章2007版:牛
日期:2009-11-18 16:37:15生肖徽章2007版:牛
日期:2009-11-18 16:37:15生肖徽章2007版:牛
日期:2009-11-17 16:36:19生肖徽章2007版:牛
日期:2009-11-17 16:36:19生肖徽章2007版:牛
日期:2009-11-17 16:36:19
13#
 楼主| 发表于 2008-3-21 17:20 | 只看该作者
原帖由 jimhou 于 2008-3-21 16:25 发表

session 1:

SQL> conn demo/demo
已连接。
SQL> create sequence seq_demo cache 2;

序列已创建。

SQL> desc user_sequences;
名称                                      是否为空? 类型
----------------------------------------- -------- ----------------------------

SEQUENCE_NAME                             NOT NULL VARCHAR2(30)
MIN_VALUE                                          NUMBER
MAX_VALUE                                          NUMBER
INCREMENT_BY                              NOT NULL NUMBER
CYCLE_FLAG                                         VARCHAR2(1)
ORDER_FLAG                                         VARCHAR2(1)
CACHE_SIZE                                NOT NULL NUMBER
LAST_NUMBER                               NOT NULL NUMBER

SQL> select sequence_name from user_sequences where sequence_name='SEQ_DEMO'
  2  for update;

SEQUENCE_NAME
------------------------------
SEQ_DEMO

session 2:

select seq_demo.nextval from dual;
此时session 2会发生等待。你可以从v$session_wait中看到相应的等待事件,是个enqueue锁的类型为SQ。将session1中释放,session2就可以得到相应的信息了。

这样不能做出 enqueue锁的类型为SQ 

使用道具 举报

回复
论坛徽章:
11
授权会员
日期:2007-07-08 18:54:592009日食纪念
日期:2009-07-22 09:30:00生肖徽章2007版:蛇
日期:2008-10-24 16:46:51奥运会纪念徽章:现代五项
日期:2008-10-24 13:26:49生肖徽章2007版:羊
日期:2008-04-17 18:05:112008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:鸡
日期:2008-01-02 17:35:53ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10
14#
发表于 2008-3-21 17:48 | 只看该作者
9i不是很详细,10g中这个队列等待事件进行了细分。
select * from v$event_name where NAME like '%enq%';

这个视图,你看看有没有帮助?

[ 本帖最后由 stronghearted 于 2008-3-21 17:53 编辑 ]

使用道具 举报

回复
论坛徽章:
13
授权会员
日期:2007-04-04 12:56:40蜘蛛蛋
日期:2012-05-16 15:10:572012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41蛋疼蛋
日期:2011-07-11 12:05:372011新春纪念徽章
日期:2011-02-18 11:43:33生肖徽章2007版:蛇
日期:2009-02-23 12:14:102009新春纪念徽章
日期:2009-01-04 14:52:28奥运会纪念徽章:游泳
日期:2008-09-09 13:45:03奥运会纪念徽章:艺术体操
日期:2008-08-11 08:44:06
15#
发表于 2008-3-21 20:38 | 只看该作者
原帖由 hxhy 于 2008-3-21 17:20 发表

这样不能做出 enqueue锁的类型为SQ 

此试验的关键在于对user_sequences试图中相应的记录执行for update,不知道你是否按照试验的说明进行的。

使用道具 举报

回复

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

本版积分规则 发表回复

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