Объем памяти сервера баз данных Oracle увеличивается день ото дня, пока не достигнет 100%

#oracle

#Oracle

Вопрос:

введите описание изображения здесьЯ столкнулся с проблемой в базе данных Oracle 11gR2 DB (ОС Oracle Linux 7.7). На нашем сервере 128 ГБ памяти, мы настроили 60% физической памяти для SGA PGA (автоматическое управление памятью). У нас около 2000 клиентов, на которых работает программное обеспечение Oracle Form base. После нескольких дней работы память нашего сервера продолжает увеличиваться, пока не достигнет 100% памяти, а затем система зависает из-за нехватки памяти для ОС. Мы несколько раз пытались перезагрузить сервер, но проблема все еще существует. Мы не можем найти ничего, что потребляло бы много памяти. Каждый сеанс клиента потребляет только около 10 МБ памяти.

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

Большое спасибо!

Комментарии:

1. Похоже, что в вашем пуле соединений могут быть постоянные (но, возможно, случайные) утечки. Вы должны проверить все, что продолжает подключаться к вашей базе данных Oracle, и убедиться, что все подключения выполняются должным образом.

2. @TimBiegeleisen, наши клиенты работают и поддерживают соединение почти все время суток, чтобы обновлять журналы тестирования устройств, подтверждать материалы .., бесплатно только во время еды и в воскресенье. Во время приема пищи и в воскресенье использование памяти снижается до определенного уровня, но после этого оно будет увеличиваться до более высокого уровня, чем до приема пищи. Количество сеансов стабильно на уровне 2150. Я просто обновляю картинку, чтобы вы могли себе представить.

3. Тогда довольно ясно, что является источником зависания соединения. Проверьте код вашего приложения на наличие утечек.

4. У нас есть команда разработчиков, расположенная в другой стране. Мы боремся друг с другом из-за этого. Я попытался найти доказательства, чтобы показать им, что проблема может исходить из приложения, но все равно не могу. Я действительно новичок и меньше разбираюсь в такого рода проблемах. Не могли бы вы подсказать мне, как получить «блокировку соединения»? Спасибо за быстрый ответ, кстати!

5. Я не эксперт в вопросах Oracle DBA, но должна быть какая-то панель администратора, из которой вы можете просматривать открытые соединения. Если вы можете отобразить количество активных пользователей в зависимости от количества открытых подключений, вы можете попытаться показать, что по мере того, как пользователи подключаются к Сети, вы теряете соединения.