2016-03-31 13 views
2

Мы столкнулись с проблемой с нашим сайтом. Мы используем базу данных Oracle 12c и используем IIS 8 на сервере Windows 12 Azure. ODP.NET - это поставщик, которого мы используем. Веб-сайт построен на C# и работает как 64-битное веб-приложение.Oracle не выпускает или не убивает неактивный процесс и/или сеанс из моего пула приложений ASP.NET

по какой причине, Oracle не освобождает наши связи, и через некоторое время мы получили ошибку Oracle:

ORA-12520: TNS:listener could not find available handler for requested type of server 

Мы рассмотрели все наши соединения строки, добавив:

Min Pool Size=10;Max Pool Size=100;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5; Decr Pool Size=2 

Мы более чем удваиваем MAX Process и Sessions, которые были определены в конфигурации Oracle.

Это помощь, но только в отсрочке проблемы.

На данный момент мы сделали командный файл, который запускается каждые 10 минут и убивает все неактивные сеансы, которые все еще существуют через 30 минут (ALTER SESSION KILL .... IMMEDIATE).

Вот где мы находимся, мы включили трассировку ODP.NET и ожидаем ее завтра, но к этому моменту, что может вызвать эту проблему?

+0

Какой. ADO клиент Oracle ADO вы используете? Как выглядит код, который делает подключения? Неправильно написанный код, который не использует блоки 'using' или' finally' для закрытия каждого соединения после его использования, может быть преступником. Без дополнительной информации, возможно, мало кто может сделать для вас. – Igor

+0

Извините, просто взгляните на мой ответ. Я документировал для других. – JudgeProphet

ответ

2

Наконец, что я нашел в ODP.NET трассировка

TID: dac (ERROR) Oracle error code=28002; Oracle msg=ORA-28002: the password will expire within 6 days 

Кажется, что эта ошибка не останавливает доступ к БД, но подвесить сеанс в бассейне.

После того, как мы исправили это, все было в порядке.

 Смежные вопросы

  • Нет связанных вопросов^_^