代码改变世界

oracle中记录被另一个用户锁住的原因与解决办法

2014-01-08 11:04  南言北兼  阅读(745)  评论(0编辑  收藏  举报

原因很多,最常见的一个就是数据库操作执行了,但未提交。

解决方法如下:

oracle数据中删除数据时提示“记录被另一个用户锁住” 解决方法:

1、查看数据库锁,诊断锁的来源及类型:   

select object_id,session_id,locked_mode from v$locked_object;

或者用以下命令: select b.owner,b.object_name,l.session_id,l.locked_mode from v$locked_object l, dba_objects b where b.object_id=l.object_id

2、找出数据库的serial#,以备杀死:   

select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;

3、杀死该session   alter system kill session 'sid,serial#' (sid,serial#换成相应的值)