Retorno do Usuário

No horário combinado…

Olá DBA! E aí seguiu meu conselho para o final de semana?? Espero que sim, afinal de contas DBA também é gente… hehehehehe.

Bem, estamos prontos para assumir nossos trabalhos de segunda-feira então e é claro que nem bem colocamos o pé na empresa e quem vem lá??? Nossa usuária do relatório gerencial. Ok, ok, sei que nessa hora você pensa “Meu Deus que chata! nem deixa eu chegar direito e já vem me cobrar…” Não é verdade?? Eu sei disso, mas também já aprendemos que esta é a hora que nós respiramos fundo, e como eu já disse procuramos nos colocar pelo menos um pouco no lugar dela. Hoje é início de mês, na verdade ela deve estar sendo pressionada pela administração para rodar este relatório zilhões de vezes e como isto demora muito está prejudicando o trabalho de nossa amiga.

Então não vamos perder tempo com pensamentos ruins, não vai adiantar nada mesmo, precisaremos sim resolver o problema, pois afinal de contas que bom que existem estas solicitações, caso contrário pra que DBA???
Vamos lá então! Fale para a usuária que quando estiver no computador dela que te ligue para fazerem juntos o processo.Isso se faz necessário, pois você precisa ter certeza de que a sessão que será rastreada é a sessão correta. Portanto peça a ela que desconecte tudo que estiver conectado no sistema e que aguarde o seu contato.
Logo após ela falar que desconectou tudo, rode o script que passei no post anterior para ter certeza de que não existe nenhuma conexão dela no banco de dados.

Lembre-se usuários na maioria das vezes não tem conhecimento de termos técnicos, tente utilizá-los o mínimo possível, seja objetivo, não entre em detalhes técnicos.
OK, você rodou o script e realmente não existe nenhuma conexão dela no banco. Perfeito!!
Agora sim avise a ela que simplesmente se conecte na aplicação, mas que ainda não faça nada, apenas coloque usuário e senha e clique em conectar.

Quando ela fizer isso e te avisar: “Pronto Conectei!” Você novamente rodará o script que você já deixou pronto e ele te trará os dados que irá precisar para fazer o trace da sessão.

Um ponto que você precisará neste momento ter ciência é do quanto tempo irá rodar este trace, este rastreamento. Lembrando que ele gerará um arquivo físico, que deverá ser acompanhado o crescimento, pois ele será gerado em um local que muito provavelmente será dentro do servidor Oracle. Portanto CUIDADO! Existem áreas de dados que caso venham a lotar o diretório podem levar o banco a um congelamento por motivos de segurança. Então sempre colocar um trace para rodar tenha em mente duas coisas, o tempo que irá rodar e que você deverá desativar o processo no final. ATENÇÃO! ELE NÃO SE DESATIVA AUTOMATICAMENTE!!!!! Portanto é preciso desabilitar o trace manualmente. É interessante que você tenha o costume de sempre que for gerar um trace verificar no local onde ele será gerado, pelo select abaixo você verifica o local:
Veja o arquivo do trace no DIAGNOSTIC DEST:

Exemplo levando em consideração que o nome do banco é ORCL e que temos o ORACLE_BASE setado:
$ cd $ORACLE_BASE/diag/rdbms/orcl/orcl/trace

Com o comando df. no sistema operacional base UNIX(Linux, AIX, etc) você consegue ver o espaço do filesystem que você está olhando.

Gerando o comando para gerar o trace:
Com o comando abaixo você conseguirá gerar o script para iniciar o trace. É um script que gera como resultado um outro script que deve ser rodado para efetuar o start do trace.
O script ajuda a localizar a sessão pelo nome da máquina da usuária, pelo username (nome da conexão no banco de dados ou pelo OSUSER que é o nome da conexão do usuário na rede.

Pelo nome da máquina:
SELECT ‘execute dbms_system.set_sql_trace_in_session(‘||sid||’,’||serial#||’,true);’ FROM v$session where machine = ‘MAQUINA_DA_USUARIA’;

Pelo OSUSER:
where OSUSER = ‘elisangela.andrade’;

Pelo username:
where username = ‘ELISANGELA’

O resultado deste comando te trará o exato comando que você deverá executar para habilitar o trace da sessão.
Este trace utilizaremos uma package do Oracle dbms_system que utilizará a procedure set_sql_trace_in_session para habilitar o trace gerando um arquivo de rastreamento no endereço conforme citamos acima.

Tudo pronto??? Agora vamos iniciar o processo? Só depois que localizarmos e que executarmos a início do trace que vamos mandar a usuária rodar o dito processo.
Legal! Gostaria então que você analisasse bem tudo que comentamos acima, as questões técnicas, comandos, scripts e as questões humanas.
Nos próximos posts continuaremos nossa batalha. Veremos como acompanhar um trace e o que fazer enquanto ele roda.

Grande abraço!
E jamais esqueça!! Seja o que for fazer FOCO NA META!!!!

 

 

Sobre raul andrade

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

Deixe uma resposta