1、 以一个session做以示例,

a、 找到你要杀掉的那个session, 并记下paddr

select sid, username, paddr, status from v$session

where username = '用户名' and

status = 'INACTIVE';


b、 找到这个session所对应的spid

select * from v$process where addr = '上面查寻的paddr';


c、 杀掉spid所标识的那个进程

如果你的Oracle是在Unix平台上的,可以用kill。

$kill spid

如果你的Oracle是在windown平台上的,有一些的不同,因为windown是以thead来代替process的,需要用到sid和spid两个值,所用的命令也由kill替换为Orakill,格式为rakill sid spid

C:\>orakill sid  spid


d、 再查一下v$session,看会话在不在了。

SQL> select sid,serial#,username,program from v$session;

SID    SERIAL# USERNAME                       PROGRAM

---------- ---------- ------------------------------ ----------------------------------------------------------------

1          1                                ORACLE.EXE

2          1                                ORACLE.EXE

3          1                                ORACLE.EXE

4          1                                ORACLE.EXE

5          1                                ORACLE.EXE

6          1                                ORACLE.EXE

7        325

8        311 ZLHIS

9        325

10        325

11        325

12        325

15         31 ZLHIS

16         29

17          3 SYS                            sqlplus.exe

20         98 SYS                            PLSQLDev.exe

23        284 ZLHIS

27         72 SYS                            PLSQLDev.exe

28         49

19 rows selected


SQL> alter system kill session '8,311';

alter system kill session '8,311'

ORA-00031: 标记要删去的会话


这个8,311确实是没有了,可能又产生了一个新的会话,见下面的记录.

SQL> select sid,serial#,username,program from v$session;

SID    SERIAL# USERNAME                       PROGRAM

---------- ---------- ------------------------------ ----------------------------------------------------------------

1          1                                ORACLE.EXE

2          1                                ORACLE.EXE

3          1                                ORACLE.EXE

4          1                                ORACLE.EXE

5          1                                ORACLE.EXE

6          1                                ORACLE.EXE

7        337

8        315 ZLHIS

9        337

10        337

11        337

12        337

15         31 ZLHIS

16         41

17          3 SYS                            sqlplus.exe

20         98 SYS                            PLSQLDev.exe

23        284 ZLHIS

27         72 SYS                            PLSQLDev.exe

28         61

19 rows selected