sql >> Databáze >  >> RDS >> Oracle

java.sql.SQLException:Listener odmítl připojení s následující chybou:ORA-12519, TNS:nebyl nalezen vhodný obslužný program

Vaše vícevláknová aplikace otevírá příliš mnoho připojení/relací. Posluchač tedy na chvíli ukončuje a blokuje nová připojení.

Nejprve zkontrolujte využití zdrojů DB:

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

Zkontrolujte, zda se vaše MAX_UTILIZATION pro vaše procesy nebo relace příliš neblíží LIMIT_VALUE. Pokud ano, měli byste buď:

  1. Používejte sdružování připojení DB ke sdílení Connection objekty mezi vlákny. Nebo,
  2. Zvyšte počet procesů/relací, které může Oracle obsluhovat současně.

Ve skutečnosti by se sdružování připojení (#1) mělo provádět vždy. Jinak se aplikace nemůže zvětšit. Zkontrolujte Apache Commons DBCP pro detaily. Pro #2 otevřete novou relaci SQL*Plus jako SYSTEM a spusťte:

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

zvýšit souběh backendu. Poté RESTARTUJTE databázi. DŮLEŽITÉ!



  1. Hodnoty Oracle ROWID

  2. Jak získat hodnoty SQLite db v Arraylist do Listview

  3. Problém Oracle Long Raw

  4. Nejrychlejší cesta k podmnožině - data.table vs. MySQL