Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Sessão inativa no Oracle por JDBC


Qual é, exatamente, o problema?

Normalmente, o servidor de aplicativos de camada intermediária cria um conjunto de conexões. Quando seu código solicita uma conexão, ele obtém uma conexão já aberta do pool, em vez de passar pela sobrecarga de gerar uma nova conexão com o banco de dados. Quando seu código fecha uma conexão, a conexão é retornada ao pool em vez de passar pela sobrecarga de fechar fisicamente a conexão. Isso significa que haverá um número razoável de conexões com o banco de dados onde o STATUS em V$SESSION está "INATIVO" em qualquer ponto no tempo. Isso é perfeitamente normal.

Mesmo sob carga, a maioria das conexões de banco de dados de uma camada intermediária é "INATIVA" na maioria das vezes. Um status de "INATIVO" significa apenas que no instante em que você executou a consulta, a sessão não estava executando uma instrução SQL. A maioria das conexões passará a maior parte do tempo sentada no pool de conexões esperando por uma sessão Java para abri-las ou esperando que a sessão Java faça algo com os dados ou esperando na rede para transferir dados entre as máquinas.

Você está realmente recebendo um erro (ou seja, ORA-00020:número máximo de processos excedido)? Ou você está apenas confuso com o número de entradas em V$SESSION ?