Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Sentencias rechazadas por Oracle: como obtenerlas

Estas en el tema de Sentencias rechazadas por Oracle: como obtenerlas en el foro de Oracle en Foros del Web. Actualmente manejo el siguiente query que me presenta las últimas sentencias de sql recibidas por la base de datos: SELECT DISTINCT vs.sql_text, vs.last_active_time FROM v$sqlarea ...
  #1 (permalink)  
Antiguo 09/07/2008, 14:29
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 16 años, 4 meses
Puntos: 0
Sentencias rechazadas por Oracle: como obtenerlas

Actualmente manejo el siguiente query que me presenta las últimas sentencias de sql recibidas por la base de datos:

SELECT DISTINCT vs.sql_text, vs.last_active_time
FROM v$sqlarea vs , all_users au
WHERE (parsing_user_id != 0) AND (au.user_id(+)=vs.parsing_user_id)
AND (au.username='NEWLAB') AND TO_CHAR(last_active_time, 'MM/DD')='07/09' ORDER BY last_active_time ;

Sin embargo no me presenta las sentencias rechazadas (por sintaxis, por ejemplo), ¿hay forma de obtenerlas?

Les agradeceré mucho su ayuda
  #2 (permalink)  
Antiguo 09/07/2008, 19:49
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 8 meses
Puntos: 7
Respuesta: Sentencias rechazadas por Oracle: como obtenerlas

si te bajaste de internet y no jala tu consulta seguro se debe a que estas trabajando en una version diferente para la que fue creada, si puedes postear el error que te manda igual sea mas facil ayudarte
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 10/07/2008, 08:11
 
Fecha de Ingreso: junio-2008
Ubicación: D.F.
Mensajes: 62
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Sentencias rechazadas por Oracle: como obtenerlas

Hola que Tal,

No es que la Sentencia no Funcione, sino que solo trae las instrucciones que se han parseado y ejecutado con exito, y por lo tanto que están en la SGA.

Y lo que rsbermudez necesita es una consulta que además de las sentencias anteriores también traiga aquellas que no se pudieron ejecutar por errores en Sintaxis y por lo tanto nunca se parsearon y no se pasarón a la SGA. Yo nunca he visto algo así siempre es sobre últimas sentencias ejecutadas y sobre errores que se generan en SP´s. Sin Embargo en Sql Developer Versión 1.5 hay una utilidad que se nombre Sql History, que no es nada más que el almacenamiento en archivo de todas las sentencias que ejecutes en Sql Developer tengan o no Error.

Saludos
  #4 (permalink)  
Antiguo 10/07/2008, 10:25
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Sentencias rechazadas por Oracle: como obtenerlas

Muchas gracias por sus comentarios... sólo tengo una duda:

¿ el historial que mencionas (Sql History) es de las sentencias que envías desde Sql Developer o de todas las sentencias que recibe Oracle, incluyendo sistemas externos?

Muchas gracias nuevamente...
  #5 (permalink)  
Antiguo 10/07/2008, 11:11
 
Fecha de Ingreso: junio-2008
Ubicación: D.F.
Mensajes: 62
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Sentencias rechazadas por Oracle: como obtenerlas

Que Tal,

El Sql History te muestra solamente lo que se ejecute sobre Sql Developer.

Saludos.
  #6 (permalink)  
Antiguo 22/07/2008, 10:49
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Sentencias rechazadas por Oracle: como obtenerlas

Buenas tardes,

ya pude obtener las sentencias SQL rechazadas por Oracle, les paso el procedimiento,
saludos.

Asegurar estén activos los parámetros USER_DUMP_DEST, TIMED_STATISTICS.

Ejecutar:

SQL> alter system set SQL_TRACE = TRUE scope=memory;

(Esta sentencia hace que se generen archivos trace de las sentencias sql que recibe Oracle, podiendo ver su resultado y algunas estadisticas más en cuanto a performance).

-Se deshabilito imediatamente despues de obtener el error, ya que el estar obteniendo trace le pega en el performance de la BD:

SQL> alter system set SQL_TRACE = FALSE scope=memory;
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:58.