码迷,mamicode.com
首页 > 数据库 > 详细

oracle 解锁表的一个小问题

时间:2017-03-15 12:45:40      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:pie   resource   弹出框   ref   name   title   sql   UI   where   

最近开发的时候遇到一个小问题,执行一段sql之后发现 表被锁了

显示错误为:ora-00054:resource busy and acquire with nowait specified

百度之后发现是session进程卡住了,可以说是表的某些资源被锁定了

可以采用如下方法解锁:

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;

可以查询锁定的用户和sid和serial

使用如下sql可以查询被锁的sql

select sql_text from v$session a,v$sqltext_with_newlines b
  where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value)=b.hash_value
  and a.sid=&sid order by piece;

弹出框里面写上sid

 

最后如下语句可以杀掉session解锁表

alter system kill session ‘sid,serial#’;

 

如 alter system kill session ‘343,23200‘;

之后可以正常使用资源。。。

 

@ink

oracle 解锁表的一个小问题

标签:pie   resource   弹出框   ref   name   title   sql   UI   where   

原文地址:http://www.cnblogs.com/inkflower/p/6553144.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!