Когда мы делали это для моей последней компании, мы написали программу на C # с использованием сохраненных процедур и нескольких потоков. Регулирование потоков вверх и вниз помогло с нагрузкой на базу данных. мы не могли использовать Loader из-за некоторых настроек конфигурации. Помогли и ассоциативные массивы.
В нашем случае мы не смогли провести некоторые оптимизации, потому что таблицы работали, но отключение индексов и их перестроение после загрузки может повысить производительность. Мы видели проблемы в нашей среде RAC, когда каждый rac-сервер боролся за файл индекса, секционируя и корректируя индексы, повышал производительность, но я не гуру Oracle, поэтому вы можете попросить кого-нибудь поумнее об этом.
Я знаю, что мы увидели очень низкую производительность с данными CLOB, поэтому мы изменили одно из наших полей на сжатую строку, охватывающую несколько varchar (4000), а затем заставили программу сшивать их вместе при использовании.