2011-11-25 18 views
8

Duplicar posible:
Oracle: is there a tool to trace queries, like Profiler for sql server?¿Cómo rastrear todas las consultas enviadas a Oracle DB desde el servidor de la aplicación?

estoy usando JDBC para hablar con Oracle. ¿Hay alguna manera o herramientas externas de que pueda rastrear todas las consultas SQL enviadas al servidor Oracle DB desde el servidor de aplicaciones durante una sesión? Esta debería ser una gran herramienta de seguimiento de fallas/errores.

+1

Para CasperOne: ¿Por qué crees que esto es una duplicación exacta? Simplemente no puedo entender Mi pregunta se centra principalmente en cómo rastrear todas las consultas SQL enviadas por el cliente. así que quiero una lista de consultas SQL durante un período de tiempo explicado. pero el enlace con el que indicó que esta pregunta es la duplicación se centra principalmente en cómo obtener un plan de consulta o, si no, en una consulta específica. –

Respuesta

2
+0

Gracias, solo échale un vistazo, parece que esta herramienta debe estar integrada en los códigos de la aplicación. ¿Tienes una herramienta que está completamente fuera de la caja de aplicaciones? –

+0

@ user872501 no, yo no. podría considerar la sugerencia de AVD y ver si se ajusta a sus necesidades – aldrin

4

Puede intentar JProfiler. Su sonda de JDBC que muestra todas las sentencias SQL en la vista Eventos:

enter image description here

Funciona para todos los controladores JDBC, incluyendo Oracle. Además, la vista de puntos calientes de la sonda es útil para determinar qué consultas toman la mayor parte del tiempo.

responsabilidad: Mi empresa desarrolla JProfiler

+0

Genial, Gracias y su equipo, ¿Necesito comprar una experiencia para este software? –

+0

@ user872501 Si desea seguir utilizándolo después del período de evaluación, deberá comprar una licencia. –

+0

Acabo de probar esto ... No se pueden ver los parámetros reales que se pasan, ¿verdad? Quiero ver todas las consultas reales que se ejecutan. –

1

Puede comprobar la vista V $ SQLAREA para ver todo lo que una conexión se envía al servidor:

select sql_fulltext, 
     executions, 
     buffer_gets, 
     rows_processed, 
     elapsed_time, 
     first_load_time, 
     last_active_time 
from v$sqlarea 
where parsing_schema_name = 'YOUR_DB_USERNAME' 

La vista también contiene información acerca de la frecuencia fue la stament ejecutada y otra información interesante que podría ser útil para rastrear problemas de rendimiento.

cuenta que la información es básicamente un caché - por lo que las declaraciones podrían ser eliminados de la superficie mundial en un sistema muy ocupado (lo que significa que hay una posibilidad de que usted realmente no ve todos declaraciones)

Cuestiones relacionadas