Вы используете пул соединений? Если это так, то может быть так, что разные вызовы выполняются в отдельных сеансах.
Лучшим решением было бы иметь одну процедуру PL / SQL, которая заполняет временную таблицу и возвращает набор результатов в одном вызове. Который затем предлагает еще лучшее решение: покончить с временной таблицей.
В Oracle есть несколько ситуаций, требующих использования временных таблиц. Большинство вещей можно решить с помощью чистого SQL или, возможно, массового сбора во вложенные таблицы. Какие фактические манипуляции с данными во временной таблице вы выполняете между вставкой и последующим выбором?
редактировать
Временные таблицы имеют снижение производительности - строки записываются на диск. Коллекции PL / SQL остаются в (сессионной) памяти и поэтому работают быстрее. Конечно, поскольку они находятся в памяти сеанса, они не решат проблему, с которой вы столкнулись при создании пула соединений.
Является ли причиной того, что вам нужно разделить данные на части, потому что вы не хотите передавать 200 000 строк в ваш PHP одним махом? Я думаю, что мне нужно немного больше контекста, если я хочу помочь вам в дальнейшем.