Oracle update或alter表被锁住的问题
\ 查询被锁的对象、来源、sid和serial
1
2
3
4
|
select object_name, machine, s.sid, s.serial# from v$locked_object l, dba_objects o, v$session s where l.object_id = o.object_id and l.session_id = s.sid |
\ 杀死会话链接,SID和SERIAL 要对应上
1
|
alter system kill session '203,25461' ; |
\ 如果报错,则执行以下操作:
尽管报错了,但状态肯定已经变成了KILLED状态
1
2
3
4
|
select a.spid,b.sid,b.serial#,b.username from v$process a,v$session b where a.addr=b.paddr and b.status= 'KILLED' ; |
\ 查询系统中的线程ID,即spid,查询到的spid
1
2
3
4
|
select b.spid,a.osuser,b.program from v$session a,v$process b where a.paddr=b.addr and a.sid=SID |
\ 登录数据库系统OS,执行以下命令
kill -9 SPID