Depois de alguns dias…Olá DBA!!! Feliz retorno!!! Pelas estatísticas, agora que o país começa a trabalhar. Com certeza você já ouviu falar esta frase não é mesmo? Então vamos que vamos, que apesar da preguiça como não poderia deixar de ser, colocamos o pé no escritório e quem surge na porta com aquele olhar de “peguei você”??? Hehehe. A nossa usuária Elisângela (vamos chamar de Elis) e adivinhem o que ela quer??? Saber se podemos dar prosseguimento nos testes dela é claro!! Não reclame dela! Afinal de contas tivemos um longo período de descanso e “desestress”.
Ok, conforme combinado alinhamos com ela o momento do start do processo e quando ela disser que está ok rodo o comando que ensinamos no post anterior para criar o script que executa o trace.
Do comando rodado resultou em uma saída assim:
execute dbms_system.set_sql_trace_in_session(‘123′,’4567’,true);
Este comando quer dizer que irá criar um trace para a sessão de SID=123 e SERIAL#=4567 – É SERIAL# mesmo, é assim que aparece na v$session. O true significa que está habilitando o trace, não podemos esquecer de depois rodar o mesmo comando substituindo o true por false ao final do processo. Executamos este comando no prompt do SQL.
Enquanto o trace é gerado podemos identificar facilmente o arquivo através do PID pois o mesmo é gerado com nome baseado no PID do sistema – Para quem não sabe o PID é o identificador do processo dentro do Sistema Operacional. Sendo assim toda tarefa efetuada dentro de um sistema operacional tem um identificador do processo.
Para encontrarmos o PID do processo basta rodar o comando:
SELECT p.spid
FROM v$process p, v$session s
WHERE s.paddr = p.addr
AND s.sid = ‘123’
AND s.serial=’4567′;
Com o valor do SPID(PID) você encontrará facilmente o arquivo trace gerado no local:
$ cd $ORACLE_BASE/diag/rdbms/orcl/orcl/trace
Nesse momento você espera, de vez enquando dando um comando df . de dentro do local do trace para ver o espaço no file system, ou um ls -lsrt para ver o tamanho que está ficando o arquivo.
Neste momento se estiver em contato com a usuária que provavelmente deve estar, aproveite para fazer o chamado “social”, converse coisas “não trabalho”, pergunte como foi o feriadão, pergunte coisas do dia a dia, fale sobre o clima (clima sempre é bom para introduzir assuntos, quebrar o gelo e mudar rumo de conversas chatas… Aprenda isso!!!). Como já falei anteriormente, um usuário que tenha simpatia por você vale muito mais apena do que se sentir e se fazer tratar como se fosse um DeusBA… Acredite, já trabalhei em um local onde existia a fama da equipe dos DeusBA, mas não porque os caras fossem muito bons (na verdade até eram), mas porque se “achavam” e era completamente inacessíveis a não ser por chamados cumprindo o SLA.
Ok sei que muitos gerentes de projetos, de equipes, etc estão discordando de mim agora, que eu estou querendo furar o sistema de chamados, burlar SLA, e bla bla bla… Não é isso, já gerenciei equipe, projetos, sistemas, banco de dados e pessoas; com isso aprendi que muitas vezes vale mais o bom senso do que um protocolo a ser seguido. Protocolos são muito bons na teoria, mas todos podem ser quebrados com algo que chamamos de “escalar o problema”. Portanto antes que ele seja escalado e eu tenha que quebrar o SLA de qualquer forma sempre procuro analisar todas as situações de usuários que chegam pessoalmente falar comigo a respeito de qualquer coisa.
OK, OK, já filosofei, criei simpatizantes com minha teoria e também pessoas contra é claro, agora é hora de finalizar o trace.
Nossa usuária no meio da conversa que ia bem animada até nos fala: terminou! Perfeito!
Hora de desligar o trace com o comando:
execute dbms_system.set_sql_trace_in_session(‘123′,’4567’,false);
Agora que o trace está gerado você pode perceber dentro do diretório citado que o arquivo tem o formato PID.trc.
Trace gerado agora é a hora de iniciar a análise do arquivo gerado. Porém analisar um trace como ele é gerado não é muito fácil e legível. Precisaremos torná-lo mais inteligível. Para isso utilizaremos uma ferramenta chamada TKPROF.
Enquanto isso avise sua usuária e agora “amiga” que estará analisando o arquivo gerado e assim que tiver algum retorno informará ela.
Ah! E não se assuste se alguém algum dia vier te contar que a usuária Elis comentou no setor dela o quanto você foi educado, e que está resolvendo o problema dela. Veja, mesmo que você tenha iniciado a resolução dia 01/02 e ainda não tenha uma resposta final, muitas vezes um bom atendimento cativa usuários mesmo quando você ainda nem faz idéia do que poderá fazer e se poderá fazer alguma coisa para ajudar.
Grande abraço DBA, até o próximo capítulo da série do problema da Elis (rsrsrs)… Ou seria melhor em tom de novela mexicana: El problema de Elis?
OPS!! Ia esquecendo; não importa o que fizer, apesar de qualquer problema, aproveite sua vida ao máximo, viva um dia de cada vez (como me disse um grande amigo – sei que ele irá se identificar lendo o post) e claro FOCO NA META!!!