Saltar al contenido
WaitScope Entrar Solicitar acceso

Suba el trace de Oracle. Vea a dónde fue cada segundo.

WaitScope lee traces de Oracle del evento 10046 y arma el perfil del tiempo de respuesta de la sesión: CPU, cada espera y cada sentencia SQL, sumando exactamente el tiempo total. Sin instalar nada en la base de datos.

El trace se borra en cuanto termina el análisis. Queda solo el informe.

Fragmento del trace (.trc)

FETCH #1:c=200,e=1600,p=1,cr=10,cu=0,mis=0,r=1,dep=0 WAIT #1: nam='db file sequential read' ela= 1000 file#=1 block#=100 WAIT #1: nam='SQL*Net message from client' ela= 5000 driver id=1 STAT #1 id=1 cnt=1 op='TABLE ACCESS BY INDEX ROWID T (cr=10 pr=1 time=1500 us)'

Perfil del tiempo de respuesta

Perfil del tiempo de respuesta
ComponenteParticipación% del total
SQL*Net message from client71,3%
db file sequential read18,5%
tiempo no contabilizado entre llamadas4,1%
CPU: FETCH dbcalls2,8%
otros 5 componentes3,3%
Tiempo total100,0%

La sesión pasó la mayor parte del tiempo esperando a la aplicación Ajustar el SQL no reduce este tiempo: revise la aplicación, la red y la cantidad de idas y vueltas.

Un trace sintético de ejemplo y el perfil que WaitScope generó a partir de él.

Del trace al perfil en tres pasos

Funciona con el trace que el propio Oracle escribe. Sin agente, sin conector y sin acceso a su base de datos.

  1. Active el trace en la sesión lenta

    Con DBMS_MONITOR, con las esperas y sin los valores de bind. ALTER SESSION con el evento 10046 también sirve.

    EXEC DBMS_MONITOR.SESSION_TRACE_ENABLE(
      session_id => 123, serial_num => 4567,
      waits => TRUE, binds => FALSE);
    -- ejecute la operación lenta
    EXEC DBMS_MONITOR.SESSION_TRACE_DISABLE(
      session_id => 123, serial_num => 4567);
  2. Suba el archivo

    Desde el navegador o la app de Android: el .trc, comprimido en zip, gz, bz2 o tar, o la carpeta entera. Los archivos de una misma operación pueden convertirse en un solo análisis.

  3. Lea el perfil

    Cuando termina el análisis, el informe abre con el tiempo total, el perfil por componente y por clase de espera, las sentencias SQL con su plan y el diagnóstico.

Un informe que cuadra todo el tiempo

Cada línea del perfil es una parte del tiempo total, y la suma da 100%. Desde ahí, el informe baja a las sentencias, los planes y los objetos que pesaron.

Informe de WaitScope con el tiempo total, los datos de la sesión y el diagnóstico de un trace de ejemplo
Informe generado a partir de un trace sintético. Abrir el informe de ejemplo

Perfil del tiempo de respuesta

El tiempo total dividido en CPU por tipo de llamada, cada evento de espera y el tiempo no contabilizado, también agrupado por clase de espera de Oracle.

Sentencias SQL y planes

Cada sentencia por su contribución al tiempo total, con las llamadas, el plan de las líneas STAT y las operaciones en las que el optimizador estimó mal las filas.

Diagnóstico

Patrones que suelen explicar el perfil: espera por la aplicación, lectura lenta, hard parse, bucle fila a fila en PL/SQL, commit y bloqueo.

Objetos y PL/SQL

Los objetos con más espera y consultas listas para ejecutar en la base: columnas, índices, estadísticas y el código del PL/SQL.

Deadlocks (ORA-00060)

El grafo de espera, las sesiones, el SQL y la pila PL/SQL de quien recibió el error, con el diagnóstico por tipo de lock.

Varios traces de una misma operación

Cuando la aplicación cambia el tracefile_identifier, la operación se reparte en varios archivos. WaitScope junta los fragmentos en el orden del tiempo.

El trace no se queda en el servidor

Un trace de producción trae SQL y, a veces, datos personales. WaitScope guarda solo el informe, y los valores de bind usados en los filtros ni siquiera entran en él.

Borrado después del análisis
El archivo enviado sale del servidor en cuanto termina el análisis, con éxito o con error. Queda solo el informe, durante el plazo de retención.
Servidor en Brasil
El análisis se ejecuta, y el informe se guarda, en un servidor en Brasil.
Solo usted ve sus análisis
Cada cuenta ve únicamente lo que envió. Ni el administrador de la consola ve el contenido.
Literales ocultos
El texto entre comillas y los números de 6 dígitos o más aparecen como *** en el SQL que usted ve y descarga. Viene activado y se puede desactivar en la cuenta.
Verificación en dos pasos
Toda cuenta entra con contraseña y con el código de la app de autenticación.
Nada en su base de datos
Sin agente, sin esquema y sin conexión con la base: WaitScope solo ve el archivo que usted decide enviar.

Preguntas frecuentes

¿Qué traces lee WaitScope?

Traces del evento 10046 con esperas (nivel 8 o 12) y traces de deadlock (ORA-00060). Los traces antiguos, con tiempos en centésimas de segundo, también sirven. Otros archivos de Oracle, como el trace 10053 y el alert log, se reconocen y se rechazan con la explicación de cómo generar el 10046.

¿Qué diferencia hay con TKPROF?

TKPROF organiza el trace por sentencia. WaitScope empieza por el tiempo total de la sesión y muestra cuánto pesó cada parte, incluido el tiempo fuera de la base, como la espera por la aplicación, y el tiempo que el trace no explica. Las sentencias y los planes vienen después, en orden de contribución.

¿Funciona con traces grandes?

Sí. Cada envío llega a 4 GiB, y el archivo puede ir comprimido. La lectura es en flujo: un trace de 119 MB, con 2,1 millones de líneas, se lee en unos 4 segundos.

¿Es una herramienta de monitoreo?

No. WaitScope analiza el trace de una operación cuando usted necesita entender su tiempo. No se conecta a la base ni recolecta nada de forma continua.

¿Cuánto tiempo queda disponible el informe?

Durante el plazo de retención, 7 días por defecto. Puede descargar el informe en HTML o JSON y borrar el análisis antes.

¿Hay app?

Hay app de Android. Envía traces grandes por partes, retoma el envío si se cae la conexión y abre los informes. Informes y pantallas en español, portugués e inglés.

¿Cuánto cuesta?

Los planes todavía no se publicaron. Durante el acceso anticipado, escriba a contato@waitscope.com para acordar el uso.

Analice su próximo trace con WaitScope

Solicite acceso y suba el trace de la operación lenta. El informe sale en cuanto termina el análisis.