删表的时候碰到表忙的情况,会报错。
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';