查v$system_event和v$session_event里的事件信息时,有些是空闲事件无需关心。比如说 “SQLNet message from client”这个事件,是server进程在等待客户端发sql指令。只要不是网络出问题,这样的事件不用关心。
可以用statspack的stats$idle_event表里记录的项目,来确定哪些是空闲等待事件。在spctab.sql中有stats$idle_event的描述。空闲事件包括有(Oracle 10g):
'smon timer', 'pmon timer', 'rdbms ipc message', 'Null event', 'parallel query dequeue', 'pipe get', 'client message', 'SQLNet message to client', 'SQLNet message from client', 'SQLNet more data from client', 'dispatcher timer', 'virtual circuit status', 'lock manager wait for remote message', 'PX Idle Wait', 'PX Deq Execution Msg', 'PX Deq Table Q Normal', 'wakeup time manager', 'slave wait', 'io slave wait', 'jobq slave wait', 'null event', 'gcs remote message', 'gcs for action', 'ges remote message', 'queue messages', 'wait for unread message on broadcast channel', 'PX Deq Credit send blkd', 'PX Deq Execute Reply', 'PX Deq Signal ACK', 'PX Deque wait', 'PX Deq Credit need buffer', 'STREAMS apply coord waiting for slave message', 'STREAMS apply slave waiting for coord message', 'Queue Monitor Wait', 'Queue Monitor Slave Wait', 'wakeup event for builder', 'wakeup event for preparer', 'wakeup event for reader', 'wait for activate message', 'PX Deq Par Recov Execute', 'PX Deq Table Q Sample', 'STREAMS apply slave idle wait', 'STREAMS capture process filter callback wait for ruleset', 'STREAMS fetch slave waiting for txns', 'STREAMS waiting for subscribers to catch up', 'Queue Monitor Shutdown Wait', 'AQ Proxy Cleanup Wait', 'knlqdeq', 'class slave wait', 'master wait', 'DIAG idle wait', 'ASM background timer', 'KSV master wait', 'EMON idle wait', 'Streams AQ RAC qmn coordinator idle wait', 'Streams AQ qmn coordinator idle wait', 'Streams AQ qmn slave idle wait', 'Streams AQ waiting for time management or cleanup tasks', 'Streams AQ waiting for messages in the queue', 'Streams fetch slave waiting for txns', 'Streams AQ deallocate messages from Streams Pool', 'Streams AQ delete acknowledged messages', 'LNS ASYNC archive log', 'LNS ASYNC dest activation', 'LNS ASYNC end of log', 'LogMiner client waiting for transaction', 'LogMiner slave waiting for activate message', 'LogMiner wakeup event for builder', 'LogMiner wakeup event for preparer', 'LogMiner wakeup event for reader'。
通常我们可以用下面的方式来过滤:
event not like 'SQLNET%' and event not like 'smon%' and event not like 'pmon%' and event not like 'rdbms%' and event not like 'PX%' and event not like 'sbt%' and event not in ('gcs remote message', 'ges remote message', 'virtual circuit status', 'dispatcher timer');
http://space.itpub.net/12238525/viewspace-702953