Saltar al contenido
WaitScope Entrar Solicitar acceso (por correo) Menú

Llamadas de nivel 0 lentas

El hallazgo CHAMADAS_LENTAS cuenta las llamadas de la aplicación que tardaron 0,1 s o más y lleva a la lista de las más largas, desde donde se llega a la sentencia.

Se aplica a: Traces 10046

Una llamada de nivel 0 es un pedido de la aplicación a la base de datos: su duración es lo que la aplicación espera en una ida y vuelta. El hallazgo cuenta las que tardaron 0,1 s o más y lleva a la lista de las más largas, desde donde se llega a la sentencia que tardó.

Síntomas

En el Diagnóstico aparece el hallazgo n llamadas de nivel 0 por encima de 0,100 s (CHAMADAS_LENTAS), o 1 llamada de nivel 0 por encima de 0,100 s. El texto dice que la lista de las más largas está en el informe y termina con Ver llamadas más largas.

El hallazgo aparece cuando el trace tiene al menos una llamada de nivel 0 (dep=0: PARSE, EXEC, FETCH y las demás que pide la aplicación) con duración (e=) de 0,1 s o más, el límite que muestra el título. El título dice "por encima de", pero la cuenta incluye la llamada de 0,1 s exactos. La gravedad es siempre información, y el hallazgo no muestra porcentaje del tiempo total.

El recuento cubre todas las llamadas de nivel 0 del trace. La sección Llamadas de nivel 0 más largas muestra solo las más largas y puede traer también llamadas por debajo del límite, cuando pocas lo superan.

Causa

La llamada tardó porque hizo mucho trabajo (lecturas lógicas, lectura de disco), porque esperó algo dentro de ella (lock, disco, otra base de datos por database link) o porque ejecutó SQL recursivo, como en un bloque PL/SQL. El hallazgo no dice cuál: es un registro, y la causa está en la sentencia de la llamada.

En el procesamiento por lotes, las llamadas largas son esperables. En una pantalla, el usuario siente cada una de ellas.

Solución

  1. Haga clic en Ver llamadas más largas.

    Resultado: la tabla viene ordenada por Duración (s), con la llamada, la sentencia y la línea del trace de cada una.

  2. Compare Duración (s) con CPU (s). CPU cerca de la duración significa trabajo en la base de datos; CPU mucho menor, espera dentro de la llamada.
  3. Revise LIO, PIO y Filas. Muchas lecturas lógicas para pocas filas apuntan al plan; PIO alto, a la lectura de disco.
  4. Haga clic en la sentencia (#n) para abrir su detalle. El Perfil de la sentencia muestra si el tiempo fue CPU, espera o SQL recursivo; en un bloque PL/SQL, SQL recursivo ejecutado por esta sentencia lista las hijas.
  5. Use Inicio (+s) para ver en qué momento del trace ocurrió la llamada. Varias llamadas lentas en el mismo momento suelen tener una causa externa, como un lock o un pico de carga.
  6. Use Línea para leer el trace en el punto de la llamada: las líneas WAIT justo encima de ella son las esperas dentro de la llamada. Cambie 1000 por el número de la columna:
    head -n 1000 arquivo.trc | tail -n 30
  7. Siga a la página del hallazgo que explica el tiempo de la sentencia, como operación que concentra el plan, lectura lenta, bloqueo o fila a fila en PL/SQL.

Las llamadas de variantes del mismo SQL, que solo difieren en los literales, se convierten en una sola fila en la lista, la de la llamada más larga, con la etiqueta N variantes antes del texto de la sentencia (llamadas más largas). El recuento del hallazgo no cambia: cada llamada lenta cuenta, también las de la forma que la lista resume en una fila.

Cómo confirmar

  1. Corrija la causa de la sentencia que más aparece en la lista.
  2. Active el trace de la misma operación, en las mismas condiciones (activar el trace con DBMS_MONITOR).
  3. Envíe el archivo nuevo y abra el informe.
  4. Compare el número en el título del hallazgo y las duraciones al principio de Llamadas de nivel 0 más largas.

Resultado: el número de llamadas lentas y las mayores duraciones bajan. Si ninguna llamada llega a 0,1 s, el hallazgo desaparece.

En el informe

En el informe de ejemplo, todas las llamadas quedan por debajo de 0,1 s y el hallazgo no aparece; los enlaces abren las mismas secciones en él.

Actualizado el 29/10/2026. Informar un error en esta página