Oracle
 sql >> база данни >  >> RDS >> Oracle

Неактивна сесия в Oracle от JDBC

Какъв точно е проблемът?

Обикновено сървърът на приложения от средно ниво създава пул за връзки. Когато вашият код поиска връзка, той получава вече отворена връзка от пула, вместо да преминава през режийните разходи за създаване на нова връзка към базата данни. Когато вашият код затвори връзка, връзката се връща към пула, вместо да преминава през излишните разходи за физическо затваряне на връзката. Това означава, че ще има разумен брой връзки към базата данни, където STATUS в V$SESSION е "НЕАКТИВЕН" в даден момент от време. Това е напълно нормално.

Дори при натоварване повечето връзки към базата данни от средно ниво са "НЕАКТИВНИ" през повечето време. Състоянието "НЕАКТИВНО" просто означава, че в момента, в който сте изпълнили заявката, сесията не е изпълнявала SQL оператор. Повечето връзки ще прекарват по-голямата част от времето си или седнали в пула от връзки, в очакване на сесия на Java, за да ги отворят, или в чакане на сесията на Java, за да направят нещо с данните, или в чакане в мрежата за прехвърляне на данни между машините.

Наистина ли получавате грешка (т.е. ORA-00020:максималният брой процеси е превишен)? Или просто сте объркани от броя на записите в V$SESSION ?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle PL/SQL:Създайте DML пакет онлайн

  2. 3 начина за връщане на часовата зона от стойност на дата и час в Oracle

  3. Премахнете дубликатите с помощта на функцията Oracle LISTAGG

  4. Вземете броя на дните между две дати в Oracle, включително датите

  5. NLS_INITCAP() Функция в Oracle