Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101465729
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-04 12:07:29

    来源:赛迪网    作者:xiaozhao

从Statspack的创建脚本中,我们可以看到从Oracle9i到Oracle10g,空闲等待事件的改变.

空闲等待事件在Statspack中,记录在系统表STATS$IDLE_EVENT中.检查其创建脚本我们可以找到这些变化.这个脚本位于$ORACLE_HOME/rdbms/admin/spctab.sql

在Oracle9iR2中,空闲等待有:

/* ---------------------------- */

create table   STATS$IDLE_EVENT
(event  varchar2(64)     not null
,constraint STATS$IDLE_EVENT_PK primary key (event)
 using index tablespace &&tablespace_name
   storage (initial 100k next 100k pctincrease 0)
) tablespace &&tablespace_name
  storage (initial 100k next 100k pctincrease 0) 
pctfree 5 pctused 40;

insert into STATS$IDLE_EVENT 
(event) values ('smon timer');
insert into STATS$IDLE_EVENT 
(event) values ('pmon timer');
insert into STATS$IDLE_EVENT 
(event) values ('rdbms ipc message');
insert into STATS$IDLE_EVENT 
(event) values ('Null event');
insert into STATS$IDLE_EVENT 
(event) values ('parallel query dequeue');
insert into STATS$IDLE_EVENT 
(event) values ('pipe get');
insert into STATS$IDLE_EVENT 
(event) values ('client message');
insert into STATS$IDLE_EVENT 
(event) values ('SQL*Net message to client');
insert into STATS$IDLE_EVENT 
(event) values ('SQL*Net message from client');
insert into STATS$IDLE_EVENT 
(event) values ('SQL*Net more data from client');
insert into STATS$IDLE_EVENT 
(event) values ('dispatcher timer');
insert into STATS$IDLE_EVENT 
(event) values ('virtual circuit status');
insert into STATS$IDLE_EVENT 
(event) values ('lock manager wait for remote message');
insert into STATS$IDLE_EVENT 
(event) values ('PX Idle Wait');
insert into STATS$IDLE_EVENT 
(event) values ('PX Deq: Execution Msg');
insert into STATS$IDLE_EVENT 
(event) values ('PX Deq: Table Q Normal');
insert into STATS$IDLE_EVENT 
(event) values ('wakeup time manager');
insert into STATS$IDLE_EVENT 
(event) values ('slave wait');
insert into STATS$IDLE_EVENT 
(event) values ('i/o slave wait');
insert into STATS$IDLE_EVENT 
(event) values ('jobq slave wait');
insert into STATS$IDLE_EVENT 
(event) values ('null event');
insert into STATS$IDLE_EVENT 
(event) values ('gcs remote message');
insert into STATS$IDLE_EVENT 
(event) values ('gcs for action');
insert into STATS$IDLE_EVENT 
(event) values ('ges remote message');
insert into STATS$IDLE_EVENT 
(event) values ('queue messages');
commit;

create public synonym  
STATS$IDLE_EVENT   for STATS$IDLE_EVENT;

/* ------------------------------ */
 

在Oracle10gR2中,这个数字大大增加:

/* -------------------------------- */

create table          STATS$IDLE_EVENT
(event                varchar2(64)     not null
,constraint STATS$IDLE_EVENT_PK primary key (event)
 using index tablespace &&tablespace_name
   storage (initial 100k next 100k pctincrease 0)
) tablespace &&tablespace_name
  storage (initial 100k next 100k 
pctincrease 0) pctfree 5 pctused 40;

insert into STATS$IDLE_EVENT (event) 
values ('smon timer');
insert into STATS$IDLE_EVENT (event) 
values ('pmon timer');
insert into STATS$IDLE_EVENT (event) 
values ('rdbms ipc message');
insert into STATS$IDLE_EVENT (event) 
values ('Null event');
insert into STATS$IDLE_EVENT (event) 
values ('parallel query dequeue');
insert into STATS$IDLE_EVENT (event) 
values ('pipe get');
insert into STATS$IDLE_EVENT (event) 
values ('client message');
insert into STATS$IDLE_EVENT (event) 
values ('SQL*Net message to client');
insert into STATS$IDLE_EVENT (event) 
values ('SQL*Net message from client');
insert into STATS$IDLE_EVENT (event) 
values ('SQL*Net more data from client');
insert into STATS$IDLE_EVENT (event) 
values ('dispatcher timer');
insert into STATS$IDLE_EVENT (event) 
values ('virtual circuit status');
insert into STATS$IDLE_EVENT (event) 
values ('lock manager wait for remote message');
insert into STATS$IDLE_EVENT (event) 
values ('PX Idle Wait');
insert into STATS$IDLE_EVENT (event) 
values ('PX Deq: Execution Msg');
insert into STATS$IDLE_EVENT (event) 
values ('PX Deq: Table Q Normal');
insert into STATS$IDLE_EVENT (event) 
values ('wakeup time manager');
insert into STATS$IDLE_EVENT (event) 
values ('slave wait');
insert into STATS$IDLE_EVENT (event) 
values ('i/o slave wait');
insert into STATS$IDLE_EVENT (event) 
values ('jobq slave wait');
insert into STATS$IDLE_EVENT (event) 
values ('null event');
insert into STATS$IDLE_EVENT (event) 
values ('gcs remote message');
insert into STATS$IDLE_EVENT (event)
values ('gcs for action');
insert into STATS$IDLE_EVENT (event) 
values ('ges remote message');
insert into STATS$IDLE_EVENT (event) 
values ('queue messages');
insert into STATS$IDLE_EVENT (event) 
values ('wait for unread message on broadcast channel');
insert into STATS$IDLE_EVENT (event) 
values ('PX Deq Credit: send blkd');
insert into STATS$IDLE_EVENT (event) 
values ('PX Deq: Execute Reply');
insert into STATS$IDLE_EVENT (event) 
values ('PX Deq: Signal ACK');
insert into STATS$IDLE_EVENT (event) 
values ('PX Deque wait');
insert into STATS$IDLE_EVENT (event) 
values ('PX Deq Credit: need buffer');
insert into STATS$IDLE_EVENT (event) 
values ('STREAMS apply coord waiting for slave message'); 
insert into STATS$IDLE_EVENT (event) 
values ('STREAMS apply slave waiting for coord message'); 
insert into STATS$IDLE_EVENT (event) 
values ('Queue Monitor Wait'); 
insert into STATS$IDLE_EVENT (event) 
values ('Queue Monitor Slave Wait'); 
insert into STATS$IDLE_EVENT (event) 
values ('wakeup event for builder'); 
insert into STATS$IDLE_EVENT (event) 
values ('wakeup event for preparer'); 
insert into STATS$IDLE_EVENT (event) 
values ('wakeup event for reader'); 
insert into STATS$IDLE_EVENT (event) 
values ('wait for activate message'); 
insert into STATS$IDLE_EVENT (event) 
values ('PX Deq: Par Recov Execute');
insert into STATS$IDLE_EVENT (event) 
values ('PX Deq: Table Q Sample');
insert into STATS$IDLE_EVENT (event) 
values ('STREAMS apply slave idle wait');
insert into STATS$IDLE_EVENT (event) 
values ('STREAMS capture process filter callback wait for ruleset');
insert into STATS$IDLE_EVENT (event) 
values ('STREAMS fetch slave waiting for txns');
insert into STATS$IDLE_EVENT (event) 
values ('STREAMS waiting for subscribers to catch up');
insert into STATS$IDLE_EVENT (event) 
values ('Queue Monitor Shutdown Wait');
insert into STATS$IDLE_EVENT (event) 
values ('AQ Proxy Cleanup Wait');
insert into STATS$IDLE_EVENT (event) 
values ('knlqdeq');
insert into STATS$IDLE_EVENT (event) 
values ('class slave wait');
insert into STATS$IDLE_EVENT (event) 
values ('master wait');
insert into STATS$IDLE_EVENT (event) 
values ('DIAG idle wait');
insert into STATS$IDLE_EVENT (event) 
values ('ASM background timer');
insert into STATS$IDLE_EVENT (event) 
values ('KSV master wait');
insert into STATS$IDLE_EVENT (event) 
values ('EMON idle wait');
insert into STATS$IDLE_EVENT (event) 
values ('Streams AQ: RAC qmn coordinator idle wait');
insert into STATS$IDLE_EVENT (event) 
values ('Streams AQ: qmn coordinator idle wait');
insert into STATS$IDLE_EVENT (event) 
values ('Streams AQ: qmn slave idle wait');
insert into STATS$IDLE_EVENT (event) 
values ('Streams AQ: waiting for time management or cleanup tasks');
insert into STATS$IDLE_EVENT (event) 
values ('Streams AQ: waiting for messages in the queue');
insert into STATS$IDLE_EVENT (event) 
values ('Streams fetch slave: waiting for txns');
insert into STATS$IDLE_EVENT (event) 
values ('Streams AQ: deallocate messages from Streams Pool');
insert into STATS$IDLE_EVENT (event) 
values ('Streams AQ: delete acknowledged messages');
insert into STATS$IDLE_EVENT (event) 
values ('LNS ASYNC archive log');
insert into STATS$IDLE_EVENT (event) 
values ('LNS ASYNC dest activation');
insert into STATS$IDLE_EVENT (event) 
values ('LNS ASYNC end of log');
insert into STATS$IDLE_EVENT (event) 
values ('LogMiner: client waiting for transaction');
insert into STATS$IDLE_EVENT (event) 
values ('LogMiner: slave waiting for activate message');
insert into STATS$IDLE_EVENT (event)
values ('LogMiner: wakeup event for builder');
insert into STATS$IDLE_EVENT (event) 
values ('LogMiner: wakeup event for preparer');
insert into STATS$IDLE_EVENT (event) 
values ('LogMiner: wakeup event for reader');

commit;

create public synonym  STATS$IDLE_EVENT   for STATS$IDLE_EVENT;

/* ---------------------------------- */

如果你注意到的话,很多等待事件在9i中属于空闲等待,但是未被列入,有的是为了向后兼容,有的则是因为Bug。

阅读(240) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~