Мы уверены, что все соединения закрываются и устанавливаются в нуль после каждого процесса.
Если вы закрываете соединения вручную (что, похоже, имеет место, если вы используете JDBC), почему бы вам не использовать ведение журнала для анализа причин, вызывающих создание новых соединений?
Может быть, вы также используете пул соединений? Может быть, вы подключаетесь к ORACLE в режиме совместного использования?
Может быть слишком много maybes , пока вы не предоставите дополнительную информацию.
Обновление:
В комментариях вы сказали, что явно закрываете пул соединений . Почему
Настоятельно рекомендуется использовать пул соединений, поэтому ваше приложение не будет порождать новое соединение каждый раз, когда ему нужно будет взаимодействовать с базой данных, вместо этого используйте соединение из пула.
Итак, сначала убедитесь, что вы действительно используете пул соединений. Скорее всего, вы используете сервер приложений (если это так, чем укажите, какой именно), и я также сомневаюсь, что вы используете простой JDBC. Скорее всего, это Hibernate или любой другой поставщик персистентности, верно?
Смотри также:
Неактивный сеанс в Oracle от JDBC