应用程序并行测试取序列的下一个值时一直处于等待状态
957155Sep 21 2012 — edited Sep 21 2012测试人员反映应用程序中:select ad.CA_BUSI_REC_SEQ.CURRVAL from dual; 通过这样取序列的下一个值时一直处于等待状。
创建序列语句如下:
create sequence AD.CA_BUSI_REC_SEQ
minvalue 1
maxvalue 999999999999
start with 217643
increment by 1
cache 1000;
他们测试时用的并行,这个序列取出来的值只做为 主键用,不用管是否连续,唯一 就可以。
之前 没有cache,我怀疑是nocache的原因,昨天将cache改为1000的。不过今天 还是这样的现象。
当时发现一个idle等待事件,对应 的SQL就是select ad.CA_BUSI_REC_SEQ.CURRVAL from dual;
目前的等待事件如 下:
EVENT INST1 INST2 INST3 INST4 TOTAL EVENT_TYPE
-------------------------------------------------------- ------- ----- ----- ----- ----- ----------
SQL*Net message from client 424 0 0 0 424 idle
rdbms ipc message 15 0 0 0 15 idle
DIAG idle wait 2 0 0 0 2 idle
VKTM Logical Idle Wait 1 0 0 0 1 idle
smon timer 1 0 0 0 1 idle
pmon timer 1 0 0 0 1 idle
Space Manager: slave idle wait 1 0 0 0 1 idle
VKRM Idle 1 0 0 0 1 idle
Streams AQ: qmn slave idle wait 1 0 0 0 1 idle
Streams AQ: qmn coordinator idle wait 1 0 0 0 1 idle
SQL*Net more data from client 1 0 0 0 1 idle
Streams AQ: waiting for time management or cleanup tasks 1 0 0 0 1 idle
--------------------TOTAL_SESSION---------------------- 450 0 0 0 450 ----
这个是什么原因,还需要什么样的信息??