开发的时候需要去视图表中增加字段的时候遇到
ORA-14450:试图访问已经在使用的事务处理临时表 报错
百度了一遍发现很大可能是表死锁
具体原因还没有排查到,排查到会更新
询问数据库管理员得到sys的密码,进入,然后执行sql
1.SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME='被锁上的表' --(假定OBJECT_ID:123)
2.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='123'); -- (ID1 即 上一步sql中的OBJECT_ID)
3.将上一步得到的sql复制出来执行,类似
ALTER SYSTEM KILL SESSION '6,6';
/*值得注意的是在强制关闭前,最好做好数据备份,然后再执行*/
解除死锁后尽快执行修改,以免再次锁上
最后,重启也能解决,不过需要慎重。
解决Oracle开发中OR-14450表死锁问题与操作步骤,
本文讲述了开发过程中遇到ORA-14450错误,疑似表死锁,通过查询DBA_OBJECTS找到锁定表的SID和SERIAL#,使用ALTERSYSTEMKILLSESSION强制解锁,并强调在操作前备份数据。最后提到重启也是一种解决方案,但需谨慎。
1053

被折叠的 条评论
为什么被折叠?



