因为表kol_xx_fin050_temp 为临时表,而且有其他session正在使用。
处理步骤:
1、先从 dba_objects / user_objects中查询到该表的object_id:
select object_id from dba_objects where object_name=upper('kol_xx_fin050_temp');
2、根据查到的object_id知道使用该表的session:
select * from v$lock where id1=&object_id;
3、在从v$session视图中查到该session的sid和serial#:
;
4、杀掉这些进程:
alter system kill session 'sid,serial#';
在这里,我总结了上面的这几句话,可以改成这样!
select vs.SID,vs.SERIAL# from v$session vs join v$lock vk on vk.SID=vs.SID join dba_objects db on vk.ID1=db.OBJECT_ID where db.OBJECT_NAME=upper('TMP_FLTZ') alter system kill session '205,10623';
搜索此文相关文章:ORA-14452:试图创建,更改或删除正在使用的临时表中的索引