alter system set timed_statistics=true
--ou
alter session set timed_statistics=true
- deve ser grande o suficiente:
select value from v$parameter p
where name='max_dump_file_size'
- Descubra o número secundário e de série da sessão de seu interesse:
select sid, serial
where ...your_search_params...
- você pode começar o rastreamento com 10046 eventos, o quarto parâmetro define o nível de rastreamento (12 é o maior):
begin
sys.dbms_system.set_ev(sid, serial
end;
--desligue o rastreio com a definição do nível zero:
begin
sys.dbms_system.set_ev(sid, serial
end;
/ * níveis possíveis: 0 - desligado 1 - nível mínimo. Muito parecido com set sql_trace = true 4 - valores de variáveis de ligação são adicionados ao arquivo de rastreamento 8 - esperas são adicionadas 12 - ambos os valores de variáveis de ligação e eventos de espera são adicionados * /
--mesmo se você quiser rastrear sua própria sessão com um nível maior:
alter session set events '10046 trace name context forever, level 12';
--desligar:
alter session set events '10046 trace name context off';
- o arquivo com informações de rastreamento brutas será localizado:
select value from v$parameter p
where name='user_dump_dest'
--name do arquivo (*. trc) conterá spid:
select p.spid from v$session s, v$process p
where s.paddr=p.addr
and ...your_search_params...
--também você pode definir o nome sozinho:
alter session set tracefile_identifier='UniqueString';
--finalmente, use TKPROF
para tornar o arquivo de rastreamento mais legível:
C:\ORACLE\admin\databaseSID\udump>
C:\ORACLE\admin\databaseSID\udump>tkprof my_trace_file.trc output=my_file.prf
TKPROF: Release 9.2.0.1.0 - Production on Wed Sep 22 18:05:00 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
C:\ORACLE\admin\databaseSID\udump>
- para ver o estado de uso do arquivo de rastreamento:
set serveroutput on size 30000;
declare
ALevel binary_integer;
begin
SYS.DBMS_SYSTEM.Read_Ev(10046, ALevel);
if ALevel = 0 then
DBMS_OUTPUT.Put_Line('sql_trace is off');
else
DBMS_OUTPUT.Put_Line('sql_trace is on');
end if;
end;
/
Apenas traduzido http://www.sql.ru/faq/faq_topic.aspx?fid=389 Original é mais completo, mas de qualquer forma é melhor do que o que outros postaram IMHO