我有一个 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;