sql >> Databasteknik >  >> RDS >> Oracle

Inaktiv session i Oracle av JDBC

Vad är problemet egentligen?

Normalt skapar den mellanliggande applikationsservern en anslutningspool. När din kod begär en anslutning, får den en redan öppen anslutning från poolen istället för att gå igenom omkostnader för att skapa en ny anslutning till databasen. När din kod stänger en anslutning, återförs anslutningen till poolen i stället för att gå igenom omkostnaderna för att fysiskt stänga anslutningen. Det betyder att det kommer att finnas ett rimligt antal anslutningar till databasen där STATUS i V$SESSION är "INAKTIV" vid en given tidpunkt. Det är helt normalt.

Även under belastning är de flesta databasanslutningar från en mellannivå "INAKTIVA" för det mesta. Statusen "INAKTIV" betyder bara att sessionen inte körde en SQL-sats i det ögonblick du körde frågan. De flesta anslutningar kommer att tillbringa större delen av sin tid att antingen sitta i anslutningspoolen och vänta på att en Java-session ska öppna dem eller vänta på att Java-sessionen ska göra något med data eller vänta på nätverket för att överföra data mellan maskinerna.

Får du verkligen ett felmeddelande (dvs. ORA-00020:maximalt antal processer har överskridits)? Eller är du bara förvirrad av antalet poster i V$SESSION ?




  1. Hur gör man en kolumn unik i SQL?

  2. JPA Tabellnamn med versaler

  3. Vad är storleken på kolumnen av int(11) i mysql i byte?

  4. TIMEDIFF() Exempel – MySQL