CPU统计仅仅在每次调用结束时更新,而等待事件统计则是实时更新的
当我们知道某个sid或者会话运行非常缓慢时,v$session_event非常有用。
select event, time_waited as time_spent
from v$session_event
where sid = &sid
and event not in (
'Null event',
'client message',
'KXFX: Execution Message Dequeue - Slave',
'PX Deq: Execution Msg',
'KXFQ: kxfqdeq - normal deqeue',
'PX Deq: Table Q Normal',
'Wait for credit - send blocked',
'PX Deq Credit: send blkd',
'Wait for credit - need buffer to send',
'PX Deq Credit: need buffer',
'Wait for credit - free buffer',
'PX Deq Credit: free buffer',
'parallel query dequeue wait',
'PX Deque wait',
'Parallel Query Idle Wait - Slaves',
'PX Idle Wait',
'slave wait',
'dispatcher timer',
'virtual circuit status',
'pipe get',
'rdbms ipc message',
'rdbms ipc reply',
'pmon timer',
'smon timer',
'PL/SQL lock timer',
'SQL*Net message from client',
'WMON goes to sleep')
union all
select b.name, a.value
from v$sesstat a, v$statname b
where a.statistic# = b.statistic#
and b.name = 'CPU used when call started'
and a.sid = &sid;
博客介绍了CPU统计和等待事件统计的更新情况,CPU统计在每次调用结束时更新,等待事件统计实时更新。还给出了在知道某个sid或会话运行缓慢时,使用v$session_event进行查询的SQL语句,以获取相关等待事件和CPU使用情况。
2412

被折叠的 条评论
为什么被折叠?



