您的位置:首页 > 数据库 > Oracle

oracle 删除临时表

2015-05-04 11:47 162 查看
oracle 删除临时表时,有时会出现:ORA-14452: 试图创建, 更改或删除正在使用的临时表中的索引。就算执行truncate table ‘临时表’操作也不行。

现在总结一个方法,可以先找到临时表的sid 和serial# 然后通过 ‘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('临时表名称')

)

);

第二步:

ALTER system kill session 'sid,serial#';

这里的‘sid,serial#’是第一步查出来的结果;

第三步:

drop table '临时表名称';

就这么简单,bingo!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: