Oracle: Executando Trace no Banco

oracle_y_lupa
Olá, Galera!

Como vão?

Nessa semana iremos abordar um assunto que dá o que falar. Quantas vezes você se viu encurralado por não saber o que está acontecendo com o seu banco, que está gerando gargalos na rede, ou ainda que tem um usuário prendendo todos os processos.

Bom, para tentarmos resolver esse problema, é bom acompanhar os processos do banco, para realizar essa tarefa iremos fazer um TRACE no banco, e como fazer isso no Oracle?

Faremos o procedimento de usar o bom DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION e o TKPROF.

Segue os passos abaixo:

Iremos entrar no banco como o administrador do banco, que pode ser feito como: SYS ou SYSDBA.

Executaremos o comando de DBMS para iniciar o trace.

Sys.dbms_system.set_sql_trace_in_session(sid, serial#, true);

Para terminar o trace, é só colocar aonde aparece a opção de True para False, segue o exemplo.

Sys.dbms_system.set_sql_trace_in_session(sid, serial#, false);

Agora para ver o resultado devemos executar o comando TKPROF, que deverá conter o novo de entrada do arquivo e o de saída do arquivo com o trace.

Tkprof <banco>_ora_4403322.trc saida.lst sys=no explain =system/senha

Galera, mais uma vez espero ter ajudado um pouco mais.