V čem přesně je problém?
Aplikační server střední vrstvy obvykle vytváří fond připojení. Když váš kód požaduje připojení, získá již otevřené připojení z fondu, místo aby procházel režií vytváření nového připojení k databázi. Když váš kód uzavře připojení, připojení se vrátí do fondu, nikoli přes režii fyzického uzavření připojení. To znamená, že bude existovat přiměřený počet připojení k databázi, kde je STATUS
v V$SESSION
je v daném okamžiku "NEAKTIVNÍ". To je naprosto normální.
I při zatížení je většina databázových připojení ze střední vrstvy po většinu času „NEAKTIVNÍ“. Stav "INACTIVE" pouze znamená, že v okamžiku, kdy jste spustili dotaz, relace neprováděla příkaz SQL. Většina připojení stráví většinu času buď sezením ve fondu připojení a čekáním na relaci Java, která je otevře, nebo čekáním na relaci Java, aby něco provedla s daty, nebo čekáním v síti na přenos dat mezi počítači.
Zobrazuje se vám skutečně chyba (tj. ORA-00020:překročen maximální počet procesů)? Nebo jste jen zmatení počtem záznamů v V$SESSION
?