首页 > 代码库 > oracle 解锁表的一个小问题
oracle 解锁表的一个小问题
最近开发的时候遇到一个小问题,执行一段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 解锁表的一个小问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。