Oracle DBMS_XMLDOM free
От: α Российская Империя  
Дата: 15.10.15 07:31
Оценка:
А можно ли не делать явное освобождение всех ресурсов при работе с XML DOM (имеются в виду вызовы методов DBMS_XMLDOM.freeXXX)? Сработает ли какой-нибудь сборщик мусора по выходу из хранимой процедуры, или в конце концов вся память утечет?
Re: Oracle DBMS_XMLDOM free
От: wildwind Россия  
Дата: 15.10.15 11:27
Оценка:
Здравствуйте, α, Вы писали:

α> А можно ли не делать явное освобождение всех ресурсов при работе с XML DOM (имеются в виду вызовы методов DBMS_XMLDOM.freeXXX)? Сработает ли какой-нибудь сборщик мусора по выходу из хранимой процедуры, или в конце концов вся память утечет?


Должен сработать. Если не оставить ссылок где-нибудь, например в пакетных переменных.
Я привык, что в интернете можно найти ответ на любой вопрос. Я не люблю думать. Зачем думать, если всё уже придумано до меня? © Zenden@RSDN ::: avalon/1.0.442
Re: Oracle DBMS_XMLDOM free
От: MasterZiv СССР  
Дата: 22.10.15 16:30
Оценка:
Здравствуйте, α, Вы писали:

α>А можно ли не делать явное освобождение всех ресурсов при работе с XML DOM (имеются в виду вызовы методов DBMS_XMLDOM.freeXXX)? Сработает ли какой-нибудь сборщик мусора по выходу из хранимой процедуры, или в конце концов вся память утечет?


Сработает обязательно, но по дисконнекту сессии.
В некоторых окружениях, напоминаю, дисконекта не бывает месяцами.
Re: Oracle DBMS_XMLDOM free
От: MasterZiv СССР  
Дата: 22.10.15 16:31
Оценка:
Здравствуйте, α, Вы писали:

α>А можно ли не делать явное освобождение всех ресурсов при работе с XML DOM


Т.е. ответ -- нельзя.
Re: Oracle DBMS_XMLDOM free
От: LuciferNovoros Россия  
Дата: 22.10.15 17:49
Оценка:
Здравствуйте, ?, Вы писали:

?>А можно ли не делать явное освобождение всех ресурсов при работе с XML DOM (имеются в виду вызовы методов DBMS_XMLDOM.freeXXX)? Сработает ли какой-нибудь сборщик мусора по выходу из хранимой процедуры, или в конце концов вся память утечет?

Можно. Но любое мал-мала длительное общение с XML DOM выжрет все предоставленные ресурсы и поимеешь ты проблемы на ровном месте. Ходят слухи, что в 12с сие поправили, но насколько это правда — я не знаю, а качать гигабайты лениво. Сырое оно пока еще.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[2]: Oracle DBMS_XMLDOM free
От: α Российская Империя  
Дата: 22.10.15 17:56
Оценка:
Здравствуйте, LuciferNovoros, Вы писали:

LN>Можно. Но любое мал-мала длительное общение с XML DOM выжрет все предоставленные ресурсы и поимеешь ты проблемы на ровном месте. Ходят слухи, что в 12с сие поправили, но насколько это правда — я не знаю, а качать гигабайты лениво. Сырое оно пока еще.


Так вот насколько длительное?
Транзакция, область видимости (процедура-блок), сессия?
Не скажу что не умею гуглить, но этой информации с лету не нашел.

Там есть еще такие например ньюансы: скажем, есть итерация по DOMNodeList, в каждой итерации получаю DOMNode. Надо его освобождать явно или нет?
Или там, будут ли автоматически прихлопнуты все узлы документа, на которые ссылаются переменные хранимой процедуры, если вызвать freeDocument?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.