决定一个人富有的三个条件,一是出身,二是运气,三是努力
If you can dream it,you can do it! Nothing Impossible~

  今天,在使用update更新一条记录时,怎么都更新不了,一直处在没反应状态,然后采用编辑行记录时提交就说记录被锁,才知道具体的原因了。

  最后通过以下办法总算把记录更新了

  一.查看数据库锁,诊断锁的来源及类型

1 Select object_id,session_id,locked_mode From v$locked_object;

 

或者:

1 Select b.owner,b.object_name,l.session_id,l.locked_mode
2  From v$locked_object l, dba_objects b
3  Where b.object_id=l.object_id

 

  二.找出数据库的serial#值,用来杀死

1 Select t2.username,t2.sid,t2.serial#,t2.logon_time
2  From v$locked_object t1,v$session t2
3  Where t1.session_id=t2.sid Order by t2.logon_time;

 

  三.杀死被锁的session

1 Alter system Kill session 'sid,serial#'

 

还可以采用重新启动数据库方法。

大家有没有其它好的方法,欢迎提出,共同交流学习~~~

posted on 2010-08-25 16:44  ZEKELOVE  阅读(1203)  评论(0编辑  收藏  举报