В последние несколько дней я играл с Oracle SQL * Loader, пытаясь массово загрузить данные в Oracle. Опробовав различные комбинации опций, я был удивлен, обнаружив, что загрузка по обычному пути выполняется намного быстрее, чем загрузка по прямому пути.
Несколько фактов о проблеме:
При обычном пути загрузка завершается примерно за 6 секунд.
При загрузке прямого пути загрузка занимает около 20 минут. Худший пробег занимает 1,5 часа. завершено, но сервер вообще не был занят.
Если skip_index_main maintenance включен, загрузка по прямому пути завершается за 2-3 секунды.
Я перепробовал множество вариантов, но ни один из них не дал заметного улучшения ... НЕВЕРТИМО , Сортированные индексы, многопоточность (я использую загрузчик SQL * на многопроцессорном сервере). Ни один из них не улучшает ситуацию.
Вот событие ожидания, которое я наблюдал, пока SQL * Loader работал в прямом режиме:
Кто-нибудь знает, что пошло не так с загрузкой прямого пути? Или есть что-нибудь, что я могу дополнительно проверить, чтобы действительно докопаться до основной причины проблемы? Заранее спасибо.