SQLLoader - DIRECT模式中的“因为无法继续”而出现“停止”错误

时间:2009-01-12 11:07:10

标签: oracle sql-loader

尝试使用SQLLoader将大型文本文件加载到oracle db时,会出现以下错误:

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位)

修改 经过一些尝试,似乎问题是由使用函数转换一些输入引起的。当我删除函数(在表定义中产生更改)时,一切似乎都正常工作。有可能在进行直接加载时我不能使用函数吗?文档说从版本9.x开始它应该有用......

2 个答案:

答案 0 :(得分:1)

首先,如果人们可以开始指定他们遇到问题的产品的版本信息,那将是一个很大的帮助。

那就是说,我在metalink中发现了一个问题:

错误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

据说影响版本&gt; = 9.2但是&lt; 10.1.0.2

您可能希望在SQL Loader错误时检查警报日志中是否存在ORA-00600错误。

答案 1 :(得分:0)

检查数据库警报日志。直接路径插入在表的当前高水位线上方写入,因此当轮胎将更多范围分配给表时可能会出现问题。