ORA-14450:試圖訪問已經在使用的事務處理臨時表


開發過程中存儲過程會用到臨時表TMP_TB, 數據庫在使用過程中,用戶去修改表結構時,會報“ORA-14450:試圖訪問已經在使用的事務處理臨時表”的錯誤。

解決方案:

1、重啟oracle,當在生產環境時此項不可取。

2、殺掉訪問TMP_TB的session

找到TMP_TB的object_id:

SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME='TMP_TB'; (假定是9876)

通過object_id獲取所有session,並直接生成kill語句:

SELECT 'ALTER SYSTEM KILL SESSION '''||SID||','||SERIAL#||''';' FROM V$SESSION WHERE SID IN(SELECT SID FROM V$ENQUEUE_LOCK T WHERE T.TYPE='TO' AND ID1='9876');

最后執行生成的語句。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM