Oracle杀死死锁进程
杀进程中的会话杀掉Oracle进程中的会话,语法如下:
[*]alter system kill session 'sid,serial#';
例如:
[*]alter system kill session '29,5497';
如果有ora-00031错误,则在后面加immediate:
[*]alter system kill session '29,5497' immediate;
如何杀死Oracle死锁进程
1.查哪个过程被锁
查V$DB_OBJECT_CACHE视图:
[*]SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER='过程的所属用户' AND CLOCKS!='0';
2.查是哪一个SID,通过SID可知道是哪个SESSION
查V$ACCESS视图:
[*]SELECT * FROM V$ACCESS WHERE OWNER='过程的所属用户' AND NAME='刚才查到的过程名';
3.查出SID和SERIAL#
查V$SESSION视图:
[*]SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID';
查V$PROCESS视图:
[*]SELECT SPID FROM V$PROCESS WHERE ADDR='刚才查到的PADDR';
4.杀进程
(1)先杀Oracle进程:
[*]ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';
(2)再杀操作系统进程:
KILL -9 SPID SPID为前面查出的操作系统进程号。
页:
[1]