时间:2021-07-01 10:21:17 帮助过:30人阅读
(2)查看哪个表被锁
- <span style="color: #0000ff;">select</span> b.owner,b.<span style="color: #ff00ff;">object_name</span>,a.session_id,a.locked_mode <span style="color: #0000ff;">from</span> v$locked_object a,dba_objects b <span style="color: #0000ff;">where</span> b.<span style="color: #ff00ff;">object_id</span> <span style="color: #808080;">=</span> a.<span style="color: #ff00ff;">object_id</span>;
(3)查看是哪个session引起的
- <span style="color: #0000ff;">select</span> b.username,b.sid,b.serial#,logon_time <span style="color: #0000ff;">from</span> v$locked_object a,v$session b <span style="color: #0000ff;">where</span> a.session_id <span style="color: #808080;">=</span> b.sid <span style="color: #0000ff;">order</span> <span style="color: #0000ff;">by</span> b.logon_time;
(4)杀掉对应进程
执行命令:
- <span style="color: #0000ff;">alter</span> system <span style="color: #0000ff;">kill</span> session<span style="color: #ff0000;">‘</span><span style="color: #ff0000;">1025,41</span><span style="color: #ff0000;">‘</span>;
其中1025为sid,41为serial#.
如果查询不到v$locked_object,是因为没有权限。
以sys用户登录,执行如下授权语句:
- <span style="color: #0000ff;">grant</span> <span style="color: #0000ff;">select</span> <span style="color: #0000ff;">on</span> SYS.V_$LOCKED_OBJECT <span style="color: #0000ff;">TO</span> dev;
此外,还需要注意的一个地方是,kill session语句中需要写上SID和SERIAL#
Alter system kill session ‘SID,SERIAL#‘
这是因为SID会被重用,而SERIAL#是递增的,不会重复。SID和SERIAL#组合才可以准确指定session
Oracle某条资料被锁如何解锁 (ScriptRunner,v$locked_object,SID和SERIAL#)
标签:select upd ptr serial 退出 方法 今天 evel lock