Как импортировать миллионы записей из плоского файла в таблицу Oracle

Мне нужно загрузить огромные данные (около 30 миллионов строк) из файла дампа в Oracle. Если я использую утилиту импорта данных оракула, это занимает @ 5 часов. чтобы загрузить эти строки в таблицу Oracle (я просто вставляю строки в таблицу без дополнительной проверки). Есть ли способ оптимизировать процесс импорта?

🤔 А знаете ли вы, что...
Oracle Database обладает множеством средств для мониторинга и оптимизации производительности запросов.


1
447
1

Ответ:

Решено

Я предполагаю, что упомянутая вами «утилита импорта данных» на самом деле является загрузчиком SQL *. Это? Если нет, то должно быть :)

Например, вы можете сделать несколько вещей:

  • если в целевой таблице есть индексы и / или ограничения, удалите / отключите их (и отмените действие впоследствии)
  • если вы не указали другое, используется путь общепринятый - переключитесь на прямой путь (используя "direct = true") - это может иметь ОГРОМНУЮ разницу
  • также загрузить данные в параллельный (указать «parallel = true»); он работает только с прямым путем и позволяет одновременно работать нескольким сеансам загрузки.

Могут быть и другие варианты, но - если вы попробуете какой-либо из них, вы уже должны увидеть некоторые улучшения.