ORA-14452错误及解決方法
在删除临时表时,有时可能会遇到如下错误:
ORA-14452, "attempt to create, alter or drop an index on temporary table already in use"。
Metalink解决方法是先清空此临时表,然后再执行删除操作。
但是,如果对此临时表未提交的事务与我们清空临时表的操作不是同一SESSION,则临时表依然删除不掉。我们可以用如下方法彻底解决:
1、找到锁住表的sid和serial#
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
alter system kill session 'sid,serial#';
3、然后执行DROP操作。
在删除临时表时,有时可能会遇到如下错误:
ORA-14452, "attempt to create, alter or drop an index on temporary table already in use"。
Metalink解决方法是先清空此临时表,然后再执行删除操作。
但是,如果对此临时表未提交的事务与我们清空临时表的操作不是同一SESSION,则临时表依然删除不掉。我们可以用如下方法彻底解决:
1、找到锁住表的sid和serial#
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
alter system kill session 'sid,serial#';
3、然后执行DROP操作。