kill_session_ora_14450.sql
2021-01-15 14:33 潇湘隐者 阅读(396) 评论(0) 编辑 收藏 举报
之前总结过一篇博客“ORA-14450: attempt to access a transactional temp table already in use”,里面的脚本仅适合于讲述如何解决ORA-14450错误,在生产环境中,肯定需要快速解决问题,你可以使用下面脚本kill_session_ora_14450.sql找出涉及临时表的会话,并生成kill session的脚本。
SET LINESIZE 1080;
SET COL KILL_SESSION FOR A80;
SELECT s.SID,
s.SERIAL#,
s.STATUS,
s.PADDR,
'ALTER SYSTEM KILL SESSION '''
|| s.SID
|| ','
|| s.SERIAL#
|| ''' IMMEDIATE;' AS kill_cmd_text
FROM V$SESSION s
WHERE s.SID IN (SELECT SID
FROM V$ENQUEUE_LOCK T
WHERE T.TYPE = 'TO')
AND s.SID IN(SELECT SID
FROM V$LOCK
WHERE ID1 IN (SELECT OBJECT_ID
FROM DBA_OBJECTS
WHERE OBJECT_NAME = UPPER('&TABLE_NAME')
AND OBJECT_TYPE = 'TABLE'));
扫描上面二维码关注我
如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.