ORA-00018: 最大セッション数を超えました
が発生する...
あるいは processes 初期化パラメータに必要十分な最大プロセス数を設定しているにもかかわらず、
ORA-00020: 最大プロセス数(string)を超えました
が発生する...
といった場合は、アプリケーション内にセッションを閉じ忘れている箇所があり、用済みとなったセッションが残存・蓄積している可能性があります。
こんな時には、以下のような SQL を実行して各セッションが直近に実行した SQL 情報を取得すると、アプリケーションのどこに問題があるのかを特定するためのヒントを得られる可能性があります。
SELECT
SS.SID,
SS.STATUS,
SS.USERNAME,
SS.MACHINE,
SS.LOGON_TIME,
SS.SQL_ID,
SS.SQL_CHILD_NUMBER,
SQ.SQL_TEXT
FROM V$SESSION SS, V$SQL SQ
WHERE SS.SQL_ID = SQ.SQL_ID
AND SS.SQL_CHILD_NUMBER = SQ.CHILD_NUMBER
ORDER BY SS.LOGON_TIME DESC;
つまり、多くのセッションで同じ SQL が実行されていれば、その SQL を発行している個所が怪しいということになります。
ORA-00018 の場合は Oracle にログインすることすらできず、調べようにも調べられないということもありますが...