Usando o tkprof com o trace da sessao corrente

Para usar o tkprof é bastante simples, primeiro coloque sua sessao em trace, onde sera gerado um arquivo com um numero sequencia em

sqlplus "/ as sysdba"

SQL> show parameter user_dump_dest
user_dump_dest string /u00/oracle/banco/admin/orcl/udump


Assim rode o script para colocar a sessao em trace:

begin
for cur_rec in (select sid, Serial# serial from v$session where osuser
like '%oracleuser%') loop
dbms_System.Set_Sql_Trace_In_Session(cur_rec.sid,cur_rec.serial,True);
end loop;
end;

OU:

begin
for cur_rec in (select sid, Serial# serial from v$session where machine like
'%TESTEMACHINE%') loop
dbms_System.Set_Sql_Trace_In_Session(cur_rec.sid,cur_rec.serial,True);
end loop;
end;

Assim, copiei o arquivo novo gerado no local de trace de usuario, para uma outra maquina, so pra rodar o tkprof mas poderia ter rodado também direto no servidor:

c:\>tkprof orcl_ora_29475.trc tk.txt explain=sistema/senha@conectar
sys=no sort=fchela


Assim foi gerado o novo arquivo tk.txt e o que se deve analisar é o tempo de processamento inicialmente, onde ate a clausula insert podera estar acarretando demora na hora do insert.

Comentários