alter system set timed_statistics=true
--o
alter session set timed_statistics=true
- debe ser lo suficientemente grande:
select value from v$parameter p
where name='max_dump_file_size'
- Averigüe el sid y el número de serie de la sesión que le interesa:
select sid, serial
where ...your_search_params...
- puede comenzar a rastrear con el evento 10046, el cuarto parámetro establece el nivel de rastreo (12 es el más grande):
begin
sys.dbms_system.set_ev(sid, serial
end;
- apagar el rastreo con el ajuste de nivel cero:
begin
sys.dbms_system.set_ev(sid, serial
end;
/ * niveles posibles: 0 - desactivado 1 - nivel mínimo. Al igual que set sql_trace = true 4 - los valores de las variables de enlace se agregan al archivo de seguimiento 8 - se agregan las esperas 12 - se agregan los valores de las variables de enlace y los eventos de espera * /
- lo mismo si desea rastrear su propia sesión con un nivel más grande:
alter session set events '10046 trace name context forever, level 12';
--apagar:
alter session set events '10046 trace name context off';
- se ubicará el archivo con información de seguimiento sin procesar:
select value from v$parameter p
where name='user_dump_dest'
--nombre del archivo (*. trc) contendrá spid:
select p.spid from v$session s, v$process p
where s.paddr=p.addr
and ...your_search_params...
--también puede establecer el nombre usted mismo:
alter session set tracefile_identifier='UniqueString';
- finalmente, utilícelo TKPROF
para hacer que el archivo de seguimiento sea más legible:
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 el estado del uso del archivo de seguimiento:
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;
/
Simplemente traducido http://www.sql.ru/faq/faq_topic.aspx?fid=389 El original es más completo, pero de todos modos esto es mejor que lo que otros publicaron en mi humilde opinión