Существует один сеанс на соединение. Похоже, у вас есть утечка соединения, где-то вы открываете новое соединение и не закрываете его должным образом. Одна возможность состоит в том, что вы открываете, используете и закрываете соединение внутри блока try
и обрабатываете исключение в catch
или возвращаетесь рано по какой-то другой причине. В этом случае вам необходимо убедиться, что закрытие соединения выполнено в finally
, иначе это может не произойти, оставив соединение (и, следовательно, сеанс) зависшим. Открытие двух соединений в одной и той же области без явного закрытия может также сделать это.
Я не знаком с C3PO, поэтому не знаю, как обрабатываются соединения, где и как вводится лимит в 1100; если у него (или у вас) есть пул соединений, а 1100, на который вы ссылаетесь, является максимальным размером пула, то это не похоже на проблему, поскольку вы достигнете предела пула до предела сессии.
Вы можете заглянуть в v$session
, чтобы убедиться, что все сеансы происходят из JDBC, и что-то еще не подключается.