Oracle 进程死锁处理

来源:互联网 发布:泰山学院网络管理系统 编辑:程序博客网 时间:2024/05/19 20:00
1.查死锁,生成死锁语句
select 'alter system kill session '''   ||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
2.如果利用上面的命令杀死一个进程后,进程状态被置为 “killed”, 但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先获得进程(线程)号
select spid, osuser, s.program  from v$session s,v$process p  where s.paddr=p.addr and s.sid=#sid; (#sid是上面的sid)
3.杀线程中的会话
(1)在Linux上,用root身份执行命令:
kill -9 12345(12345是第3步查询出的spid)
(2)在Windows 用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:orakill sid thread
其中:
sid:表示要杀死的进程属于的实例名
thread:是要杀掉的线程号,即第3步查询出的spid。
例:c:>orakill orcl 12345
原创粉丝点击