错误“已停止,因为我无法继续"在SQLLoader-直接模式下 [英] Error "stopped because I can't continue" in SQLLoader - DIRECT mode
问题描述
当尝试使用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屋!