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

看起来触发器的类型会对sqlloader 处理触发器的方式产生影响。至于跟踪原因,我会尝试DDL 触发器

于 2009-09-09T04:37:02.823 回答
1

如果这是您的本地开发机器,您可以删除触发器并稍后重新创建它。或者您可以将触发代码更改为不会干扰您的数据但只会记录执行的内容,以便您可以查看它何时启用。

于 2009-09-09T06:41:07.707 回答
1

我在直接路径加载中看到了这些错误。问题不是错误消息所建议的“另一个进程”,而是用户没有适当的权限来禁用触发器。您必须有权更改表和触发器。这意味着您必须拥有该表,或对该表具有更改权限,或具有更改任何表权限。此外,您必须拥有触发器,或拥有更改任何触发器权限。

于 2012-09-27T18:11:42.523 回答