1

ログに次のようなメッセージがたくさん表示されているようです。

Trigger DEV."MBR_TRG" was disabled before the load.
Trigger DEV."MBR_TRG" was re-enabled by another process.
SQL*Loader-951: Error calling once/load initialization
ORA-00604: error occurred at recursive SQL level 1
ORA-00054: resource busy and acquire with NOWAIT specified

これは私のローカル開発マシン上にあるので、これらのテーブルに挿入しようとしているものは他にないはずです。この原因を突き止めるにはどうすればよいですか?また、トリガーが再度有効になるのを防ぐ方法はありますか(少なくとも、スクリプトのどこかでエラーが発生するかどうかを確認するため)?

4

3 に答える 3

1

これがローカル開発マシンである場合は、トリガーを削除して後で再作成できます。または、トリガーコードを、データを混乱させずに実行のみをログに記録するものに変更して、いつ有効にされたかを確認することもできます。

于 2009-09-09T06:41:07.707 に答える
1

トリガーのタイプは、sqlloaderがトリガーを処理する方法に影響を与える可能性があるようです。原因を追跡する限り、私はDDLトリガーを試します

于 2009-09-09T04:37:02.823 に答える
1

ダイレクトパスロードでこれらのエラーが発生していました。問題は、エラーメッセージが示すように「別のプロセス」ではなく、ユーザーがトリガーを無効にするための適切な権限がないことでした。テーブルとトリガーを変更する権限が必要です。つまり、テーブルを所有しているか、テーブルに対する変更権限を持っているか、テーブル権限を変更している必要があります。また、トリガーを所有しているか、トリガーのアクセス許可を変更する必要があります。

于 2012-09-27T18:11:42.523 に答える