查看oracle中被锁的对象 .

来源:互联网 发布:手机可以开淘宝店吗? 编辑:程序博客网 时间:2024/05/11 06:14

在做一个delete操作后,点击commit提交,结果toad挂了。

判断相关的表应该被锁了。于是进行如下操作

--查看oracle中被锁的对象
select a.owner, a.object_name, b.xidusn, b.xidslot, b.xidsqn, b.session_id, b.oracle_username, b.os_user_name, b.process, b.locked_mode,
c.machine, c.status, c.server, c.sid, c.serial#, c.program
from all_objects a, v$locked_object b, v$session c
where ( a.object_id = b.object_id )
and (b.process = c.process )
order by 1,2;


根据查询到的session_sid查询出session的详细信息:
select saddr,a.sid,a.serial#,paddr,a.username,machine,status,b.spid from v$session a,v$process b where a.paddr=b.addr and a.sid=''

如果确保此lock无效,可以kill掉该session
alter system kill session ’sid,serial#’ ; 

使用kill session方式杀掉进程后,发现该session的状态是killed,但还是无法做delete操作,所以决定将OS下的进程杀掉。

使用kill -9。这里其实就是要考虑当前这个process是否能被杀掉,不要导致用户或系统的错误。



原创粉丝点击