Ошибка, которую вы получаете, предположительно ORA-04030: out of process memory
. Это означает, что ваш процесс достиг предела памяти. (например, Дурр).
Почему вас не поразило, когда вы вызываете функцию в запросе? Кто может подсказать? Возможно, вы сортируете разные объемы данных? Возможно, есть разные условия окружающей среды?
Эта ошибка может указывать на то, что вам не хватает оперативной памяти, но в качестве альтернативы это может означать, что у вас заканчивается своп (то есть на диске) Если это ОЗУ и у вас есть запасная емкость, вы можете увеличить pga_aggregate_target
. Если это своп, то вам нужно, чтобы ваши парни из сисадмина занялись делом.