2016-04-01 5 views
1

Наше приложение успешно использует OracleDataSource в течение нескольких лет, и теперь мы оцениваем переход на новый пул универсальных подключений Oracle (UCP).Oracle UCP Пул утечки курсора?

С новым пулом UCP наше приложение запускается в ORA-0100: Максимальные открытые курсоры через некоторое время.

Некоторые люди, кажется, имеют схожие проблемы:

Есть ли известный обходной путь/исправить?

Примечание: Мы правильно закрываем сессии и заявления и следуем всем известным практикам JDBC/Hibernate. Приложение работает 24/7, а код уровня доступа к данным -> 8 лет и полностью тестирован. Мы используем Oracle 12c.

ответ

0

Ну, оказалось, мы, хотя мы следовали всем известным лучшим практикам. В некоторых местах мы использовали ScrollableResult, не закрывая их должным образом. В этом случае он, по-видимому, теряет базовый курсор даже после закрытия сеанса спящего режима. Мы зафиксировали все вхождения, найденные в коде, и в качестве дополнительной защитной меры мы сконфигурировали opion maxConnectionReuseTime пула, чтобы обеспечить возобновление соединения.

Примечание: это не заняло у нас один год, чтобы найти проблему, только через несколько дней, я просто забыл ответить на вопрос после того, как мы выяснили проблему ...