一个窗口开启一个会话:
SQL> select distinct sid from v$mystat;
SID
1
另一个窗口
SYS@prod>select sid,serial#,process from v$session where sid=1;
SID SERIAL# PROCESS
1 1117 53635
SYS@prod>select spid,username,pid from v p r o c e s s w h e r e a d d r = ( s e l e c t p a d d r f r o m v process where addr=(select paddr from v processwhereaddr=(selectpaddrfromvsession where sid=1 and serial#=1117);
SPID USERNAME PID
54301 oracle 25
$ kill -9 54301
一个窗口中可以发现会话没有了:
SQL> select distinct sid from v$mystat;
select distinct sid from v$mystat
*
ERROR at line 1:
ORA-03135: connection lost contact
Process ID: 54301
Session ID: 1 Serial number: 1117
#############################################
如果知道sid
select
‘kill -9’||’ ‘||spid HOST_COMMAND,
‘alter system kill session ‘’’||A.sid||’,’||A.SERIAL#||’’’’ SQL_COMMAND
from v
s
e
s
s
i
o
n
A
,
V
session A,V
sessionA,VPROCESS B where A.PADDR=B.ADDR AND SID=&sid;
Enter value for sid: 1
old 4: from v
s
e
s
s
i
o
n
A
,
V
session A,V
sessionA,VPROCESS B where A.PADDR=B.ADDR AND SID=&sid
new 4: from v
s
e
s
s
i
o
n
A
,
V
session A,V
sessionA,VPROCESS B where A.PADDR=B.ADDR AND SID=1
HOST_COMMAND SQL_COMMAND
kill -9 54506 alter system kill session ‘1,1127’
如果是通过监听连接的会话:
oracle 54430 1 0 13:11 ? 00:00:00 oracleprod (LOCAL=NO)
如果是本地连接的会话:
oracle 54506 54505 0 13:17 ? 00:00:00 oracleprod (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))