У меня есть рабочие места в Oracle, которые могут работать в течение нескольких часов, выполняя множество вычислений, связанных с (но не ограничиваясь ими) XmlTransform. Я заметил, что память PGA увеличивается (и ухудшается производительность) постепенно, пока в какой-то момент работа не завершится с сообщением об отсутствии памяти (PGA). Мы применили некоторые исправления, но они, похоже, не решают проблему. Остановить работу и перезапустить их, решает мою проблему, производительность снова хороша, а память низкая ... Весь код написан в PL/SQL и SQL.Как устранить утечку памяти в Oracle
Вопрос: Как я хочу решить это как можно скорее, мне было интересно, как я могу обойти этот тип проблемы в Oracle.
Моя главная мысль идет как-то:
- перезапуском работу после того, как некоторое время (возможно, самое простое решение) с помощью Advanced Queuing
- перезагрузка текущей сессии?
- Выполнение некоторого кода синхронно в другой сессии, возможно, другая работа.
Oracle 12.1.0.2
EDIT: Как спросил здесь пример кода с XMLTransform:
function i_Convert_Xml_To_Clob (p_Zoek_Result_Type_Id in Zoek_Result_Type.Zoek_Result_Type_Id%type,
p_Xml in xmltype,
p_Xml_Transformation in xmltype) return clob is
mResult clob;
begin
if p_Xml_Transformation is not null then
select Xmltransform (p_Xml, p_Xml_Transformation).getclobval()
into mResult
from Dual;
elsif p_Xml is not null then
mResult := p_Xml.getclobval();
else
mResult := null;
end if;
return mResult;
end i_Convert_Xml_To_Clob;
Почему это называется утечкой памяти? вам нужно настроить исправление своей работы, чтобы быть более эффективным, или предоставить базе данных больше памяти, чтобы она могла выполнять работу, которую вы просите сделать – thatjeffsmith
@thatjeffsmith, как уже упоминалось, использование памяти увеличивается, но это не должно быть , Я отлично настроил код, но не смог найти возможный источник для увеличения. Я могу как-то перезапустить задания, но это проще сказать, чем сделать. – rvheddeg
да, но мы не можем вам помочь - вам нужно показать нам свой код, ваши следы, показать нам, почему память увеличивается, и почему вы думаете, что это не должно быть – thatjeffsmith