¿Cuál es exactamente el problema?
Normalmente, el servidor de aplicaciones de nivel medio crea un grupo de conexiones. Cuando su código solicita una conexión, obtiene una conexión ya abierta del grupo en lugar de pasar por la sobrecarga de generar una nueva conexión a la base de datos. Cuando su código cierra una conexión, la conexión se devuelve al grupo en lugar de pasar por la sobrecarga de cerrar físicamente la conexión. Eso significa que habrá un número razonable de conexiones a la base de datos donde STATUS
en V$SESSION
es "INACTIVO" en cualquier momento dado. Eso es perfectamente normal.
Incluso bajo carga, la mayoría de las conexiones de bases de datos de un nivel medio están "INACTIVAS" la mayor parte del tiempo. Un estado de "INACTIVO" simplemente significa que en el momento en que ejecutó la consulta, la sesión no estaba ejecutando una instrucción SQL. La mayoría de las conexiones pasarán la mayor parte de su tiempo sentadas en el grupo de conexiones esperando que una sesión de Java las abra o esperando que la sesión de Java haga algo con los datos o esperando en la red para transferir datos entre las máquinas.
¿Está realmente recibiendo un error (es decir, ORA-00020:número máximo de procesos excedidos)? ¿O simplemente está confundido por la cantidad de entradas en V$SESSION
? ?