错误“已停止,因为我无法继续"在SQLLoader-直接模式下 [英] Error "stopped because I can't continue" in SQLLoader - DIRECT mode

查看:733
本文介绍了错误“已停止,因为我无法继续"在SQLLoader-直接模式下的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

When trying to load a large text file into the oracle db using SQLLoader, we get the following errors:

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)

这仅在直接模式下发生,当我们使用常规路径方法时,一切都很好(但速度慢得多).因此,我认为数据或控制文件的一般部分都不会出现问题.

This only happens in DIRECT mode, when we're using the conventional path method, everything is fine (but a lot slower). So I assume it can't be a problem with the data or the general parts of the control file.

虽然错误消息相当有趣,但是我该怎么做才能使所有功能正常工作?

While the error message is quite amusing, what can I do to get everything to work?

版本:SQLLoader 9.2.0.1,数据库是10.2.0.3.0(64位)

Versions: SQLLoader 9.2.0.1, Database is a 10.2.0.3.0 (64-bit)

编辑 经过更多尝试后,看来问题出在使用函数转换某些输入.当我删除函数(在表定义中进行了相应的更改)时,一切似乎都工作正常.在直接加载时,我可能无法使用函数吗?该文档说,从9.x版本开始,它应该可以工作...

EDIT After some more trying, it seems that the problems are caused by using functions to convert some of the input. When I remove the functions (with the resulting changes in the table definition), everything seems to be working fine. Is it possible that when doing a direct load I cannot use functions? The documentation says that starting with version 9.x it should work ...

推荐答案

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

First, it would be a big help if people could start specifying version information about the products they're having issues with.

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

That said, I found one issue in metalink:

错误3073503-如果第一个加载的行出现ORA错误,则直接路径加载会话会失败,并显示OER:klapse_30

Bug 3073503 - Direct path load session fails with OER:klapse_30 if first loaded row gets an ORA error

说明

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

Supposedly affects versions >= 9.2 but < 10.1.0.2

您可能想在SQL Loader错误发生时检查警报日志中是否存在ORA-00600错误.

You might want to check the alert log for the ORA-00600 error at the time of the SQL Loader error.

这篇关于错误“已停止,因为我无法继续"在SQLLoader-直接模式下的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆