ORACEL查询被锁定表并解锁释放session

问题描述:今天提交表单时,点击按钮页面没有任何反应,本以为js出问题了,调试发现js正常执行,然后到java方法里面debug,发现执行到操作数据库这一行的时候不能再继续执行,也没有任何报错信息。后确定使数据库“假死”造成的。

数据库“假死”:可能是该表被某一用户锁定,导致其他用户无法继续对该表进行任何操作。

解决方法:

1.获取所有“假死”的表,然后获取自己需要操作的表对应的sid和serial#

  SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s
    WHERE l.object_id = o.object_id AND l.session_id = s.sid;

2.根据获取到的sid和serial#将该表解锁释放session

  ALTER system kill session 'sid, serial#'; 

 

posted on 2016-07-26 19:28  禁忌夜色  阅读(1313)  评论(0编辑  收藏  举报

导航