作者:吴慈瑋宗杰 | 来源:互联网 | 2024-10-21 11:47
您没有提供控制文件或sqlldr命令行,但很可能您正在做一些需要锁定整个表的事情,例如
-控制文件中的截断
-直接路径负载
这些操作需要表上的排他锁,所以如果有未完成的交易,你会得到这个错误。
您可以查看使用 “ddl_lock_timeout” 参数来获取那些样式操作以等待 (例如) 5秒,以防锁定未解决,例如
-- session 1 (no commit)
SQL> delete from t where rownum = 1;
1 row deleted.
-- session 2
SQL> truncate table t;
truncate table t
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
SQL> alter session set ddl_lock_timeout = 10;
Session altered.
SQL> truncate table t;
[waiting waiting.... somewhere in here we commit in session 1]
Table truncated.