mzh_2008beijing 发表于 2013-1-26 14:29:33

Oracle数据库如何为表解锁

问题背景:   
    开发人员在进行数据库开发时,时常会遇到某个表无法进行更新操作,比如修改或删除。尤其是多人共用一台数据库服务器时,更容易出现此类情况,为什么呢?
   这是因为,数据库表被锁。为什么被锁?这是因为某开发人员在数据库端执行了更新操作却忘了commit,从而导致数据库表被锁。那么如何解决呢?即如何解锁呢?

解决步骤:   
   1、执行下面的SQL,找到被锁的表:
      select b.owner table_owner,b.object_name,c.username,c.sid,c.serial#   from v$locked_object a,dba_objects b,v$session c    where a.object_id=b.object_id and c.sid=a.session_id;   
   2、根据查询结果中每条记录的sid和serial#杀掉SESSION:
          alter system kill session 'sid,serial#';   
   3、大功告成。
页: [1]
查看完整版本: Oracle数据库如何为表解锁