Oracle记录锁管理

查询用户锁
select b.username,
       b.sid,
       b.serial#,
       logon_time,
       'alter system kill session ''' || sid || ',' || b.serial# || ''';'
  from v$locked_object a, v$session b
where a.session_id = b.sid
order by b.logon_time;
解锁
语法
alter system kill session 'sid,serial#';
示例

1、查询用户锁:

2、解锁

1、执行以下操作。
alter system kill session '167,467';

2、如果解锁不成功,需要继续,成功则不必执行下面的操作了。
Icon

ORA-00031: session marked for kill

3、查询SPID,如下
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=167; -- 167为上面的SID

SPID         OSUSER                         PROGRAM
----------  ------------------------------  -----------------------------------------------
22776        Administrator                  JDBC Thin Client

4、在操作系统中杀该进程。

Unix:
#kill -9 22776(即第3步查询出的spid)

Windows:
orakill db_name SPID

猜你喜欢

转载自awen7916.iteye.com/blog/2204899