Pular para o conteúdo

Os famosos eventos de espera “wait events”

Os famosos eventos de espera “wait events”

Basicamente , quando temos problemas nas bases de dados o primeiro item de devemos nos preocupar e verificarmos os eventos de espera “waits”.

A partir desse ponto poderemos nos orientar qual ponto atacar , se o problema principal e de IO, memoria, redes e etc.

Abaixo segue um script que uso no dia-a-dia para verificar tais eventos:

SELECT w.event,
count(*) "Tot",
sum(w.seconds_in_wait)/count(*) Wait_time
FROM v$session s, v$session_wait w
WHERE s.sid = w.sid
AND W.event not in ('Null event',
'PX Deq: Execution Msg',
'PX Deq: Table Q Normal',
'PX Idle Wait',
-- 'SQL*Net message from client',
-- 'SQL*Net message to client',
-- 'SQL*Net more data from client',
'client message',
'dispatcher timer',
'gcs for action',
'gcs remote message',
'ges remote message',
'i/o slave wait',
'jobq slave wait',
'lock manager wait for remote message',
'null event',
'parallel query dequeue',
'pipe get',
'pmon timer',
'queue messages',
'rdbms ipc message',
'slave wait',
'smon timer',
'virtual circuit status',
'wakeup time manager')
GROUP BY w.event
ORDER BY 2 DESC;

Acima desconsideramos alguns eventos como “idle” , mas não podemos descartar a importância dos eventos SQL*NET (comentados no scripts) em algumas situações que podem representar gargalos na rede.

Segue um link muito bom de como interpretar os eventos de espera.

Abs

fabiobat

fabiobat

Comentário(s) da Comunidade

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress