Ошибка «остановлено, потому что я не могу продолжить» в SQLLoader - DIRECT mode - PullRequest
1 голос
/ 12 января 2009

При попытке загрузить большой текстовый файл в базу данных oracle с помощью SQLLoader мы получаем следующие ошибки:

SQL*Loader-926: OCI-Error; uldlfca:OCIDirPathColArrayLoadStream for table <myTabele>
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
SQL*Loader-925: Error in uldlgs: OCIStmtExecute (ptc_hp)

Это происходит только в режиме DIRECT, когда мы используем обычный метод пути, все в порядке (но намного медленнее). Поэтому я предполагаю, что это не может быть проблемой с данными или общими частями контрольного файла.

Хотя сообщение об ошибке довольно забавно, что я могу сделать, чтобы все заработало?

Версии: SQLLoader 9.2.0.1, база данных 10.2.0.3.0 (64-разрядная версия)

EDIT После еще нескольких попыток кажется, что проблемы вызваны использованием функций для преобразования некоторых входных данных. Когда я удаляю функции (с последующими изменениями в определении таблицы), кажется, все работает нормально. Возможно ли, что при прямой загрузке я не могу использовать функции? В документации сказано, что начиная с версии 9.x должно работать ...

Ответы [ 2 ]

1 голос
/ 12 января 2009

Во-первых, было бы очень полезно, если бы люди могли начать указывать информацию о версии продуктов, с которыми у них проблемы.

Тем не менее, я обнаружил одну проблему в металинке:

Ошибка 3073503 - Сеанс прямой загрузки пути завершается с OER: klapse_30, если первая загруженная строка получает ошибку ORA

Описание

Direct load via sqlldr may report errors and the server may 
fail with ORA-600 [klaprs_30] if the first loaded row fails 
with oracle error.

eg: After an ORA-1722 loader fails with:
     ORA-26095: unprocessed stream data exists 
     ORA-03113: end-of-file on communication channel 
     SQL*Loader-926: OCI error while uldlfca:OCIDirPathColArrayLoadStream for.. 
     SQL*Loader-2026: the load was aborted because SQL Loader cannot continue. 
     SQL*Loader-925: Error  while uldlgs: OCIStmtExecute (ptc_hp) 

    and the user session fails with ORA-600 [klaprs_30].

Workaround: 
  Use conventional load

Предположительно влияет на версии> = 9.2, но <10.1.0.2 </p>

Возможно, вы захотите проверить журнал предупреждений на наличие ошибки ORA-00600 во время ошибки загрузчика SQL.

0 голосов
/ 13 января 2009

Проверьте журнал предупреждений базы данных. Прямая вставка пути записывает выше текущей максимальной отметки для таблицы, поэтому может возникнуть проблема, когда она устает выделить дополнительные экстенты для таблицы.

...