0

ディレクトリ内のログファイルをループし、oraclesqlloaderを使用してログファイルをoracleデータベースにロードするPythonスクリプトがあります。スクリプトは正しく機能し、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 に答える