Oracle OWI.

Conhecendo o inimigo.

Hello My friend! DBAs! How’s it going? Ok!… If you think: “He is a joke…” …You’re right man! But who aren’t? Just a litle.
Se avexe não! Como dizem meus amigos do nordeste… É apenas um pequeno treino “to improve my english” para ir aos EUA fazer a prova OCM ano que vem.
Vamos deixar de enrolação e vamos ao que interessa. O título do post e o comentário inicial parece algo tirado do Sun Tzu – A Arte da Guerra –  não é mesmo?
Não se assuste! Hoje vou comentar um assunto que gosto muito e está ligado à performance. Vamos falar do Oracle Wait Interfaces, ou OWI para os íntimos.
OWI não é uma ferramenta, uma aplicação ou algo do gênero, é um estudo, uma técnica muito interessante que trata dos eventos de espera, ou melhor, dos causadores de problemas, tão indesejados pelos DBAs de performance, usuários de sistemas, etc…

Eu fui apresentado a ela, ou ela a mim, sei lá, certa vez por um grande amigo e excelente profissional com o qual tive o prazer de trabalhar, Roberto Faucz.
Na época ele ainda não era meu amigo, era meu entrevistador, para fazer parte da equipe de DBAs da empresa onde ele trabalhava; bem no final da entrevista ele me perguntou se eu conhecia OWI. Pronto, foi o que bastou para que eu me interessasse pelo assunto e iniciasse a pesquisas.
Trabalhamos juntos por quase 2 anos, De lá até hoje se foram mais de 07 anos, eu e o Faucz somos amigos e eu um eterno curioso/estudioso pelo assunto de performance.

Temida por todos a famosa lentidão do ambiente sempre tem uma razão de ser, para tudo haverá uma causa raiz que faz com que eventos ocorram e possam causar a demora.
Sendo assim nos basta entendê-los e assim evitar que ocorram (ou pelo menos tentar).
OWI então é este estudo.

Hoje vou começar uma série de posts que irá comentar os principais eventos com algumas dicas importantes que com certeza irá ajudar a identificar, entender evitar. Esta será nossa diretriz.

Segundo passo:
Sei que você está pensando: “Cadê o primeiro passo?” Ora, foi conhecer o que é OWI.Agora precisamos de alguma forma de saber se eles ocorrem no banco, qual tipo de evento e qual a frequência. Para isso vamos fazer uso de um script que também recebi certa vez do Roberto e nunca mais deixei de usá-lo:

SELECT   i.instance_name, w.event, COUNT (*), SUM (seconds_in_wait)
   FROM gv$instance i,gv$session_wait w
  WHERE
  i.inst_id = w.inst_id and
  event not like ‘Streams AQ%’ and
  event not like ‘queue messages%’ and
  event not like ‘SQL*Net%’ and
  (w.inst_id, SID) IN (SELECT inst_id, SID
                             FROM gv$session
                            WHERE status = ‘ACTIVE’ AND username IS NOT NULL)
GROUP BY i.instance_name,event
ORDER BY 3 DESC;

O Script acima irá trazer quais eventos de espera estão no banco de dados no momento e qual a frequência.
Assim a partir dos próximos posts irei tratar dos eventos mais importantes um a um.

Então espero que acompanhe, curta, comente. Lembre-se que a sua participação é o impulso para que eu escreva cada vez mais!

Sobre raul andrade

DBA e Instrutor Oracle, apaixonado pela minha família e por ensinar.
Esta entrada foi publicada em DBA Oracle, Performance, Talento quando Tá lento e marcada com a tag , . Adicione o link permanente aos seus favoritos.

2 respostas para Oracle OWI.

  1. JHONATA LAMIM disse:

    Boa Tarde Raul,

    Achei o tema muito pertinente e interessante. Estarei acompanhando a sequencia das publicações. Sempre existe a oportunidade de aprimorar nossos conhecimentos.

    Obrigado pelo compartilhamento de informações e troca de experiências.

Deixe uma resposta