|
杀进程中的会话
杀掉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为前面查出的操作系统进程号。
|
|
|