Pulse para guardar enlace y compartir esta web. Ayuda para Oracle en Twitter Pulse para guardar enlace y compartir esta web. Ayuda para Oracle en Facebook Pulse para guardar enlace y compartir esta web. Búscanos en Google+ Pulse para guardar enlace y compartir esta web Pulse para generar codigo QR del enlace y compartir esta web

SQL Trace (Trazas de ejecución)

Las trazas de ejecución de oracle sirven para mostrar las sentencias SQL y su plan de ejecución de programas que acceden a bases de datos Oracle.

No es necesario disponer del código fuente ni de la sentencia SQL para saber qué y cómo se ejecutado.

Básicamente, activar la traza de ejecución consiste en ejecutar un procedimiento que tiene predefinido Oracle dentro del paquete DBMS_SYSTEM.

El procedimiento tiene la siguiente cabecera:

SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION( sid, serial#, TRUE/FALSE );
Podemos obtener estos parámetros:

SELECT SID, SERIAL#, MACHINE, TERMINAL, PROGRAM
FROM SYS.V_$SESSION
WHERE USERNAME = 'usuario';

SID y SERIAL# definen la sesión a la cual queremos hacer con la traza. El tercer parámetro indica si queremos activar/desactivar la traza de ejecución.

Una vez activada la traza con SET_SQL_TRACE_IN_SESSION, toda sentencia ejecutada sobre la sesión indicada quedará registrada en un archivo .TRC, normalmente bajo el directorio ORACLE_HOME/trace80

Este fichero contiene información detallada (pero ilegible) de los planes de ejecución. Para conseguir una salida legible de esta traza se debe ejecutar la utilidad TKPROF.

Trazas con SQL*Plus

Otra forma de hacer trazas de ejecución es en SQL*Plus, con la instrucción:


SET AUTO TRACE ON/OFF

Una vez activada la auto-traza, toda sentencia ejecutada en SQL*Plus vendrá acompañada de su plan y estadísticas de ejecución.

Si, además, queremos cronometrar el tiempo de ejecución de cada consulta, podemos activar el cronómetro con:


SET TIMING ON