ORA-14452错误及解決方法

在删除临时表时,有时可能会遇到如下错误:

ORA-14452, "attempt to create, alter or drop an index on temporary table already in use"

Metalink解决方法是先清空此临时表,然后再执行删除操作。

但是,如果对此临时表未提交的事务与我们清空临时表的操作不是同一SESSION,则临时表依然删除不掉。我们可以用如下方法彻底解决:

1、找到锁住表的sidserial#

 select sid,serial# from v$session where sid=(select sid from v$lock where id1= (select object_id from user_objects where object_name=upper('tablename')));

2、删除这个session(后面的commit应该是没有必要的)

 alter system kill session 'sid,serial#'; commit;

3、然后执行DROP操作。

你可能感兴趣的:(session,object,kill,user,table,System)