Oracle
 sql >> Database >  >> RDS >> Oracle

Sessione inattiva in Oracle di JDBC

Qual è, esattamente, il problema?

Normalmente, il server delle applicazioni di livello intermedio crea un pool di connessioni. Quando il codice richiede una connessione, ottiene una connessione già aperta dal pool anziché affrontare il sovraccarico di generazione di una nuova connessione al database. Quando il codice chiude una connessione, la connessione viene restituita al pool anziché passare attraverso il sovraccarico della chiusura fisica della connessione. Ciò significa che ci sarà un numero ragionevole di connessioni al database in cui si trova STATUS in V$SESSION è "INATTIVO" in un dato momento. È perfettamente normale.

Anche sotto carico, la maggior parte delle connessioni al database da un livello intermedio sono "INATTIVE" per la maggior parte del tempo. Uno stato di "INACTIVE" significa semplicemente che nell'istante in cui è stata eseguita la query, la sessione non stava eseguendo un'istruzione SQL. La maggior parte delle connessioni trascorrerà la maggior parte del tempo seduto nel pool di connessioni in attesa che una sessione Java le apra o in attesa che la sessione Java faccia qualcosa con i dati o in attesa sulla rete per trasferire i dati tra le macchine.

Stai effettivamente ricevendo un errore (es. ORA-00020:numero massimo di processi superato)? Oppure sei solo confuso dal numero di voci in V$SESSION ?