0

我有一个 python 脚本,它遍历目录中的日志文件,并使用 oracle sqlloader 将日志文件加载到 oracle 数据库。该脚本工作正常,甚至 sqlloader ..

但是在加载大约 200k 条记录后,加载失败并出现此异常..

Record 11457: Rejected - Error on table USAGE_DATA.
ORA-12571: TNS:packet writer failure

SQL*Loader-926: OCI error while uldlfca:OCIDirPathColArrayLoadStream for table USAGE_DATA
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
Specify SKIP=11000 when continuing the load.
SQL*Loader-925: Error while uldlgs: OCIStmtExecute (ptc_hp)
ORA-03114: not connected to ORACLE

SQL*Loader-925: Error while uldlgs: OCIStmtFetch (ptc_hp)
ORA-24338: statement handle not executed

我不确定为什么会这样。我检查了与表的表空间相对应的数据文件,并且它已将自动扩展设置为 true。还有什么可能的原因?

在“ sqlldr ”命令中,我有 rows=1000 和 Direct=True,所以它为每加载 1000 条记录提交,我已经通过改变这个数字进行了测试,仍然得到相同的错误。

sqlldr arisdw/arisdwabc01@APPDEV24 control=Temp_Sadish.ctl direct=true rows=1000 data=C:/_dev/logs/sample/data/mydata1.csv;
4

1 回答 1

0

发布您的控制文件内容。您使用的是什么版本的 Oracle?

ORA-42338 错误是我要关注的错误。您是否在工作中进行任何类型的数据转换?调用函数或类似函数?

于 2011-09-27T17:51:45.843 回答