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

Cursores abiertos Oracle

Estas en el tema de Cursores abiertos Oracle en el foro de Oracle en Foros del Web. Hola a todos, estoy teniendo un problema con una aplicación que corre sobre Glassfish y con base de datos Oracle. El problema es que cuando ...
  #1 (permalink)  
Antiguo 10/12/2014, 07:45
 
Fecha de Ingreso: diciembre-2014
Mensajes: 3
Antigüedad: 9 años, 11 meses
Puntos: 0
Cursores abiertos Oracle

Hola a todos, estoy teniendo un problema con una aplicación que corre sobre Glassfish y con base de datos Oracle.
El problema es que cuando hago una consulta en Oracle me aparecen unos cursores abiertos con una Select rarísima que no está en la aplicación, es la siguiente:
Código SQL:
Ver original
  1. SELECT VALUE$
  2. FROM props$
  3. WHERE name = 'GLOBAL_DB_NAME'

Otro problema que también hemos visto es que al hacer una transacción, la última operación también se queda abierta (ya sea INSERT o UPDATE).

Llevamos mis compañeros y yo bastante tiempo buscando solución a este problema y no sabemos ya qué más hacer.
Para dar más datos, las conexiones van a través de un pool de conexiones que está configurado en el propio Glassfish, el código de la aplicación está escrito en JAVA EE con el IDE Eclipse y la base de datos es Oracle.

Muchas gracias de antemano.

Última edición por gnzsoloyo; 10/12/2014 a las 08:05
  #2 (permalink)  
Antiguo 15/12/2014, 05:05
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: Cursores abiertos Oracle

De las select que ves sobre tablas que llevan el simbolo del dolar ( $ ) olvidate, son queries que monta oracle cuando ejecutas algo en BBDD.

De lo otro... ¿ haces COMMIT o ROLLBACK )?
  #3 (permalink)  
Antiguo 20/01/2015, 01:56
 
Fecha de Ingreso: diciembre-2014
Mensajes: 3
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Cursores abiertos Oracle

Buenas, disculpa la tardanza en contestar.
Entiendo entonces que esas queries las lanza automáticamente Oracle?? No hay alguna manera de cerrarlas? Ocupan bastantes sesiones y puede provocar problemas en la base de datos.

Con respecto al otro tema la respuesta es si, se hace Commit o Rollback, por eso me extraña tanto que se quede abierta la última sentencia.

Gracias por responder, un saludo.
  #4 (permalink)  
Antiguo 20/01/2015, 04:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Cursores abiertos Oracle

Cita:
Entiendo entonces que esas queries las lanza automáticamente Oracle?? No hay alguna manera de cerrarlas? Ocupan bastantes sesiones y puede provocar problemas en la base de datos.
Esas consultas son propias del sistema de Oracle, y su performance está diseñada precisamente para no obstruirte nada. Son de uso crítico y no puedes ni debes bajarlas.
Las que te deben preocupar no son esas, que ya están calculadas, sino las tuyas, que si pueden representar un problema de optimización.

Cita:
Otro problema que también hemos visto es que al hacer una transacción, la última operación también se queda abierta (ya sea INSERT o UPDATE).
Pues muestranos esa transaccion y veamos el problema puntual. Obviamente tienes un error en ese caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 27/01/2015, 04:20
 
Fecha de Ingreso: diciembre-2014
Mensajes: 3
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Cursores abiertos Oracle

Buenas, el problema es que no es sólo en una transacción sino que es en todas. Esto me parece raro ya que al finalizar siempre hay COMMIT o ROLLBACK. ¿Puede ser que no se esté cerrando crrectamente la conexión al pool?
  #6 (permalink)  
Antiguo 27/01/2015, 04:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Cursores abiertos Oracle

Por supuesto que hay un COMMIT o ROLLBACK... Son transacciones.

Estás perdiendo la perspectiva: ya te dije que hay acciones que son kernel, y de esas precisamente no te debes preocupar, porque son parte del sistema y necesarias. Pueden configurarse mejor o peor, pero son parte de Oracle.
Preocupate por tus transacciones, no por las que realiza el kernel de la base para autoadministrarse.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: cursor, cursores, java, select
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 06:20.