开发人员告诉有个过程无法进行任何操作,查询dba_ddl_locks发现有个159的sessions在这个过程上有个分析锁
查询v$session,发现159这个session的状态为killed,可等了半天仍旧这个session没有释放掉这个锁,后来查询v$process的spid,从操作系统杀掉后就好了!
相关过程如下:
1、查询dba_ddl_locks
select * from dba_ddl_locks where name=upper('l2_data_recv');
发现session_id=159
2、查询v$session
select sid,paddr,status from v$session where sid=159;
结果status=KILLED,由于很长时间该session无法释放掉,于是试图查询v$process,看是否操作系统进程仍旧没有释放掉。
3、查询v$process
select spid from v$process pr,v$session se where pr.addr=se.paddr
and se.sid=159;
4、在操作系统上执行
kill -9 spid
5、回到数据库,等不到2秒,该session消失
重新编译该过程就好了
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25702/viewspace-464271/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25702/viewspace-464271/