ORA-14450: attempt to access a transactional temp table already in use


在新增一個欄位到Table時,出現一個錯誤的訊息:

ERROR at line 1:
ORA-14450: attempt to access a transactional temp table already in use 

訊息大概是說table正在被使用,所以無法更新。

執行下列的SQL來檢查被誰lock住:
SELECT sid FROM v$lock
    WHERE id1 = (SELECT object_id FROM all_objects 
                                   WHERE owner =
                                        AND object_name = );

查到SID之後,用v$session來找出sid,serial#
SELECT sid,serial# FROM v$session WHERE sid = <上面找到的SID>;

將Session刪掉就可以了
ALTER SYSTEM KILL SESSION '<上面找到的SID>,<上面找到的SERIAL#>';