发生环境:
drop table ttemp_khzldr purge;
错误信息:
试图创建、更改或删除正在使用的临时表中的索引。
错误原因:
临时表正在被其他session所使用。
处理:
如果知道所使用的那个session,则切换到该session下,然后truncate该临时表即可。如plsql dev多个sql windows开启的时候。
如果不知道,则可以先查出使用该临时表的session:
SQL> select ss.sid, ss.SERIAL#, ss.PROGRAM, ss.OSUSER, ss.SCHEMANAME, ss.MACHINE, ss.TERMINAL
2 from v$lock l, user_objects o, v$session ss
3 where ss.SID = l.SID
4 and l.ID1 = o.OBJECT_ID
5 and o.OBJECT_NAME = 'TTEMP_KHZLDR'
6 /
SID SERIAL# PROGRAM OSUSER SCHEMANAME MACHINE TERMINAL
----- ---------- --------------- --------- ------------ ----------- ----------
154 44 plsqldev.exe wanghf CUSTOMER21 HS\WANGHF WANGHF
然后根据查到的sid和serial#,将该session kill掉:
alter system kill session '154, 44';
就可以对表进行删除修改操作了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12932950/viewspace-666549/
,如需转载,请注明出处,否则将追究法律责任。