Trace Event 10053

Mit den Trace Event 10053 kann die gesamte Abarbeitung einer SQL-Anweisung durch den Optimizer in eine Trace-Datei aufgezeichnet werden. Das folgende Skript aktiviert das Trace Event, führt die Anweisung aus und öffnet die Trace-Datei.


set heading on

set feedback on
set linesize 500
set pagesize 100
set echo on

ALTER SESSION SET EVENTS='10053 trace name context forever, level 1';
pause
--Hier die eigene SQL-Anweisung speichern
select e.last_name, d.department_name
from hr.employees e
    inner join hr.departments d
        on e.department_id=d.department_id
where e.job_id='ST_CLERK'
order by e.last_name;
-----------------------------------------------------
pause
ALTER SESSION SET EVENTS='10053 trace name context off';
pause
set heading off
set feedback off
set linesize 400
set pagesize 0
set echo off
spool tracefile.sql
SELECT 'host gedit ' || pa.value || '/' || LOWER(SYS_CONTEXT('userenv','instance_name')) || '_ora_' || p.spid || '.trc'
FROM   v$session s,
       v$process p,
       v$parameter pa
WHERE  pa.name = 'user_dump_dest'
AND    s.paddr = p.addr
AND    s.audsid = SYS_CONTEXT('USERENV', 'SESSIONID');
spool off

set heading on
set feedback on
set linesize 500
set pagesize 100
set echo on
pause
@tracefile.sql