En un sitio puedo conectarme a la base de datos Oracle con SQL Developer, dejarlo inactivo durante mucho tiempo (por ejemplo,> 60 minutos) y regresar, y todo está bien. En un segundo sitio, si permanece inactivo durante más de 5-10 minutos (no he contado exactamente), deja SQL Developer en un estado en el que las nuevas operaciones agotarán el tiempo de espera y tendré que "Desconectar" manualmente y luego volver a conectar en orden hacer algo útil Esto parece ser un tiempo de espera de conexión en el segundo sitio, y no sé qué lo causa (y me gustaría saber cómo desactivarlo, aunque esta no es mi principal pregunta).ODP.NET: evitar tiempos de espera de conexión con agrupación de conexiones
Mi programa usa ODP.NET y procesa los datos que vienen en rachas. Cada 30 minutos (por el bien de la discusión) obtendrá un montón de datos para procesar, lo que implicará una serie de conexiones repetidas. También usa Connection Pooling. Establecí Connection Pool para usar Lifetime de 5 minutos.
Lo que estoy viendo en el segundo sitio (y no en el primero) es que mi programa obtendrá excepciones de tiempo de espera de conexión (por ejemplo, ORA-03113) al comienzo de cada arranque de datos. Lo que creo que está sucediendo es que, durante el aumento de los datos, el grupo de conexiones se usa según lo diseñado. Al final del ciclo, se verifica "Duración de la conexión" y la conexión no es demasiado antigua, por lo que queda en el grupo de conexiones. Luego, 30 minutos más tarde, cuando llegan nuevos datos, la conexión se elimina del grupo (y no se comprueba para toda la vida o el tiempo de espera) y se usa, y se está agotando, tal como lo veo en SQL Developer.
¿Cómo puedo evitar el tiempo de espera de conexión, pero aún así aprovechar el Pool de conexión durante los chorros? Parece de la documentación (y de mi experiencia) que la conexión solo se verifica para Lifetime cuando entra en el pool, y no cuando sale.
no es suficiente con conocimientos en estas materias, pero tuvimos un problema muy similar (centros de datos ha cambiado). el nuevo centro de datos mataría a cualquier puerto que estaba abierta w/o la actividad para nada más de X minutos (que tenía el mismo problema exacto como lo hizo en otros procesos de larga ejecución SQL Developer y. Nos resistimos a la co alojamiento. y terminó por no matar a los puertos ora (pero de manera cortante recomendaron que ponemos en práctica un pulso sólo por ora conexiones que fue rechazada fuera de la mano), pero es necesario el trabajo de su parte. buena suerte! – Harrison