Oracle中删表遇到ORA-14452

删表的时候碰到表忙的情况,会报错。

DROP TABLE TMP_TAB_T_AGENT
           *
ERROR at line 1:
ORA-14452: attempt to create, alter or drop an index on temporary table already in USE

  

这个时候可以使用几个视图查看一下当前哪些SESSION正在使用

SET lines 200 pages 100 
col program FOR a20
col MODULE FOR a20
col event FOR a30
SELECT C.SID, C.SERIAL#, C.EVENT, C.PROGRAM, C.MODULE
  FROM V$LOCK A
  JOIN DBA_OBJECTS B
    ON A.ID1 = B.OBJECT_ID
  JOIN V$SESSION C
    ON A.SID = C.SID
 WHERE B.OBJECT_NAME = 'TMP_TAB_T_AGENT';



       SID    SERIAL# EVENT                          PROGRAM              MODULE
---------- ---------- ------------------------------ -------------------- --------------------
      1991      15006 SQL*Net message from client    plsqldev.exe         PL/SQL Developer
      

  

我这个表TMP_TAB_T_AGENT 是会话级别全局临时表,有些会话使用之后没有退出,无法释放锁。

杀一下

ALTER SYSTEM KILL SESSION '1991,15006'; 
 

  

猜你喜欢

转载自www.cnblogs.com/fooobabar/p/11133207.html