|
原帖由 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 |
|