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

Inaktiv session i Oracle af JDBC

Hvad er problemet helt præcist?

Normalt opretter den mellemste applikationsserver en forbindelsespulje. Når din kode anmoder om en forbindelse, får den en allerede åben forbindelse fra poolen i stedet for at gå igennem overheaden med at skabe en ny forbindelse til databasen. Når din kode lukker en forbindelse, returneres forbindelsen til poolen i stedet for at gå igennem den fysiske lukning af forbindelsen. Det betyder, at der vil være et rimeligt antal forbindelser til databasen, hvor STATUS i V$SESSION er "INAKTIV" på et givet tidspunkt. Det er helt normalt.

Selv under belastning er de fleste databaseforbindelser fra et mellemtrin "INAKTIVE" det meste af tiden. En status på "INAKTIV" betyder blot, at i det øjeblik du kørte forespørgslen, udførte sessionen ikke en SQL-sætning. De fleste forbindelser vil bruge det meste af deres tid på enten at sidde i forbindelsespuljen og vente på, at en Java-session åbner dem, eller vente på, at Java-sessionen gør noget med dataene, eller venter på netværket for at overføre data mellem maskinerne.

Får du faktisk en fejl (dvs. ORA-00020:maksimalt antal processer overskredet)? Eller er du bare forvirret over antallet af poster i V$SESSION ?




  1. Vil du ændre startnummer for automatisk stigning?

  2. Standalone MySQL-server

  3. Hvad sker der, hvis du ikke forpligter en transaktion til en database (f.eks. SQL Server)?

  4. Sådan opretter du Stored Procedure i MySQL