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

java.sql.SQLException:Слушателят отказа връзката със следната грешка:ORA-12519, TNS:не е намерен подходящ манипулатор на услуга

Вашето многопоточно приложение отваря твърде много връзки/сесии. Следователно слушателят прекъсва и блокира нови връзки за известно време.

Първо проверете използването на вашите DB ресурси:

SELECT * FROM v$resource_limit WHERE resource_name IN ('processes','sessions');

Проверете дали вашата MAX_UTILIZATION за вашите процеси или сесии се доближава твърде много до LIMIT_VALUE. Ако да, трябва да направите едно от следните:

  1. Използване на групиране на DB Connection за споделяне на Connection обекти между нишките. Или,
  2. Увеличете броя процеси/сесии, които Oracle може да обслужва едновременно.

Всъщност обединяването на връзки (#1) винаги трябва да се прави. Едно приложение не може да се увеличи по друг начин. Проверете Apache Commons DBCP за детайли. За #2 отворете нова SQL*Plus сесия като SYSTEM и изпълнете:

ALTER system SET processes=<n-as-per-number-of-threads> scope=spfile;

за увеличаване на паралелността на бекенда. След това РЕСТАРТИРАЙТЕ базата данни. ВАЖНО!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Актуализирайте със самоприсъединяване

  2. Как да предадете XML като параметър към съхранената процедура в Oracle

  3. ORACLE SQL LISTAGG не връща очакван резултат

  4. Oracle оптимизира OR + IN до OR + EXISTS, което е много бавно

  5. как да комбинирате две различни стойности от една таблица на един клиент в един ред