Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Пухнет PGA при формирование XML / 9 сообщений из 9, страница 1 из 1
14.05.2020, 09:41
    #39957256
istasv89
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пухнет PGA при формирование XML
Всем привет!

Подскажите, столкнулся с проблемой при формирование XML, пухнет PGA.
Выгружаемый набор 10000 строк +-50 колонок.

XML формирую через пакет DBMS_XMLDOM.
после каждого заполнения выполняю DBMS_XMLDOM.FREENODE
после DBMS_XMLDOM.WRITETOCLOB (DOC, L_CLOB); выполняю DBMS_XMLDOM.FREEDOCUMENT (doc);

отъедает почти 500MB
...
Рейтинг: 0 / 0
14.05.2020, 10:58
    #39957285
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пухнет PGA при формирование XML
Из каких соображений вы решили, что это много?
Да, обработка иерархических данных требует ресурсов. Каких - зависит от реализации кода СУБД и от самих данных.
У меня лет 7 назад в одном проекте вылетала ошибка о нехватке ресурсов где-то на 50 тыс. условных "строк", там структура была где-то 2-3-х-уровневой.
Поскольку код СУБД мы поменять не можем, остается изменить подход к данным, либо выделять больше ресурсов. SGA/PGA я тогда менять не стал.
...
Рейтинг: 0 / 0
14.05.2020, 11:00
    #39957286
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пухнет PGA при формирование XML
Кроме того, рекомендую переходить к более современным, наглядным XMLTable, XMLSequence, XPath.
...
Рейтинг: 0 / 0
14.05.2020, 11:13
    #39957297
istasv89
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пухнет PGA при формирование XML
dmdmdm,

Она должна высвобождаться после выполнения кода?
...
Рейтинг: 0 / 0
14.05.2020, 11:23
    #39957310
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пухнет PGA при формирование XML
dmdmdm
Кроме того, рекомендую переходить к более современным, наглядным XMLTable, XMLSequence, XPath.
Ты формирование XML от парсинга XML отличаешь?
...
Рейтинг: 0 / 0
14.05.2020, 12:32
    #39957358
Maxim Demenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пухнет PGA при формирование XML
istasv89,

У меня был года 3 назад один проект - нужно было выписывать XML большими файлами - гдето около миллиона записей на один документ - раздували PGA до 32 Гб и все валилось к черту - DBMS_XMLDOM строит дерево очень неэффективно ( по крайней мере для больших объемов ) . Так как мне дерево не нужно было, я плюнул на это дело и написал свой стримрайтер (практически содрал с https://github.com/filipsalomonsson/streamxmlwriter/blob/master/streamxmlwriter.py ) - отработало на пять баллов. Работы там набросать на PLSQL - на полчаса .

Regards
...
Рейтинг: 0 / 0
14.05.2020, 14:57
    #39957463
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пухнет PGA при формирование XML
Она должна высвобождаться после выполнения кода?

По идее, да. Но нужно проверять.

формирование XML от парсинга XML

My bad.
...
Рейтинг: 0 / 0
14.05.2020, 14:59
    #39957465
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пухнет PGA при формирование XML
DBMS_XMLDOM строит дерево очень неэффективно L

Кстати, да, вспомнил теперь.

Свыше 50 тыщ строк (а надо было миллионы) я отказался от использования DBMS_XMLDOM, и сделал конкатенацию строк.
...
Рейтинг: 0 / 0
14.05.2020, 15:17
    #39957482
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пухнет PGA при формирование XML
можно где-то "в конце" добавить вызов dbms_session.free_unused_user_memory
но степень её полезности для данного случая - не знаю, надо проверять.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Пухнет PGA при формирование XML / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]