删除用户ORA-00604和ORA-00054

时间:2014-11-19 10:04:37

标签: sql oracle oracle11g

我执行了一个impdp,但它没有完成,因为表空间中没有空间。

我停止了impdb,现在我需要删除新架构并使用此命令:

SQL> drop user TEST cascade;
drop user TGK_EXOR_IFIL_008_432 cascade
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

我没有在此架构的数据库上找到任何锁定:

SQL> select * from v$session where username = 'TEST';

no rows selected

我使用oracle 11g

1 个答案:

答案 0 :(得分:2)

impdp要么仍在运行,要么正在回滚导入本身 您可以尝试等待它手动完成或终止它。找到它:

select o.object_name as "object_name",
       s.sid as "sid",
       s.serial# as "serial#",
       s.username as "username",
       sq.sql_fulltext as "sql_fulltext"
  from v$locked_object l, dba_objects o, v$session s,
       v$process p, v$sql sq
  where l.object_id = o.object_id
    and l.session_id = s.sid and s.paddr = p.addr
    and s.sql_address = sq.address;

credit
找到被锁定的对象后,你可以杀死sid 或者如果一张桌子拿着它,你可以将它标记为只读:

alter table table_name read only;