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';
浙公网安备 33010602011771号