Вы уверены, что это утечка, а не SGA, настроенный для использования Oracle?
В целом, независимо от платформы, Oracle собирается выделить большой кусок памяти при запуске для SGA (System Global Area). Это то, что база данных использует для таких вещей, как кеширование блоков в оперативной памяти, кеширование операторов SQL и т. Д. Каждый раз, когда создается сеанс, Oracle выделяет гораздо меньший кусок памяти для PGA (программной глобальной области) этого сеанса. Это память для таких вещей, как сортировка и хеширование, которые будут расти и уменьшаться по мере необходимости сеанса. Нет ничего необычного в том, чтобы сконфигурировать Oracle для использования половины физической памяти компьютера в качестве SGA и 15-20% физической памяти для общего PGA, оставляя остаток для операционной системы и других приложений. Вы должны иметь возможность снизить потребление памяти, хотя это может вызвать проблемы с производительностью, так как для большего числа операций ввода-вывода требуются физические чтения, а не удовлетворение из кэша.
Ваши параметры конфигурации предписывают Oracle использовать до 9,65 ГБ ОЗУ между SGA и PGA и распределять эту память по своему усмотрению. Было бы вполне разумно ожидать, что Oracle при запуске SGA получит 6 или 7 ГБ оперативной памяти и будет хранить эту память вечно. И под нагрузкой Oracle, скорее всего, будет иметь около 9,65 ГБ ОЗУ, распределенного между общей SGA и PGA уровня сеанса. Это то поведение, которое вы видите? Если это так, похоже, что Oracle ведет себя, как и ожидалось, что утечки памяти нет, и что нет необходимости перезапускать службу.