ORACLE DBA - TRACE

IExplorer bookmarks rss
Más vistos:
  1. CREATE INDEX
  2. DECODE
  3. TO_CHAR
  4. TO_DATE
  5. SELECT
  6. GRANT
  7. INSERT
  8. TUNNING
  9. UPDATE
  10. CREATE USER

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

Explicación de la sintaxis utilizada para los comandos:
Las palabras en mayusculas son comandos de oracle.
Las palabras en minusculas son opiones modificables
Las partes enmarcadas con [] son opcionales
Las palabras en negrita son las opciones por defecto
Las partes enmarcadas con {} son alternativas (una u otra).
El simbolo | indica OR