1.查询死锁的进程(下面2条语句均可用)
语句1:
select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid;
语句2:
2.杀死一个进程
SID:9
SERIAL#:56110
执行上述代码报错后:ORA-00031:session marked for kill
则继续第3步,如果没报错,则不需要
3.杀死os进程
9是第2步中的SID
unix上,使用root身份或相应的oracle身份执行命令
#kill –9 10448 (10448为上一步查询出的spid)
windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:
orakill spid thread
spid:表示要杀死的进程属于的实例名
thread:是要杀掉的线程号,即第3步查询出的spid。