session1 确认sid
SYS @ prod > select userenv('sid') from dual;

USERENV('SID')
--------------
144

session2 确认sid
SYS @ prod > select userenv('sid') from dual;

USERENV('SID')
--------------
145

session1 查询当前数据库有哪些连接
SYS @ prod > select p.spid,p.pid,p.username,ss.sid,ss.serial# from v$process p,v$session ss where p.addr=ss.paddr and ss.username is not null;

SPID PID USERNAME SID SERIAL#
------------ ---------- --------------- ---------- ----------
12244 18 oracle 144 279
12269 19 oracle 145 100

操作系统层面查看以上两个进程
[root@ora10g ~]# ps -ef |grep 12244
oracle 12244 12243 0 18:32 ? 00:00:00 oracleprod (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
root 12298 12272 0 18:34 pts/4 00:00:00 grep 12244
[root@ora10g ~]# ps -ef |grep 12269
oracle 12269 12268 0 18:32 ? 00:00:00 oracleprod (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
root 12300 12272 0 18:34 pts/4 00:00:00 grep 12269

登陆session1 kill session2
SYS @ prod > alter system kill session '145,100';

System altered.

再次查询2个会话的状态,可以发现 session2 仍然存在,但是 session status 变为 killed
SYS @ prod > select p.spid,p.pid,p.username,ss.sid,ss.serial#,ss.status from v$process p,v$session ss where p.addr(+)=ss.paddr and ss.username is not null;

SPID PID USERNAME SID SERIAL# STATUS
------------ ---------- --------------- ---------- ---------- --------
12244 18 oracle 144 279 ACTIVE
145 100 KILLED

操作系统层面查看进程状态
[root@ora10g ~]# ps -ef |grep 12244
oracle 12244 12243 0 18:32 ? 00:00:00 oracleprod (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
root 12372 12272 0 19:00 pts/4 00:00:00 grep 12244
[root@ora10g ~]# ps -ef |grep 12269
oracle 12269 12268 0 18:32 ? 00:00:00 oracleprod (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
root 12379 12272 0 19:01 pts/4 00:00:00 grep 12269

查询该进程的详细信息
SYS @ prod > select p.spid,p.pid,p.username,ss.sid,ss.serial# from v$process p,v$session ss where p.spid=12269;

SPID PID USERNAME SID SERIAL#
------------ ---------- --------------- ---------- ----------
12269 19 oracle 143 159
12269 19 oracle 144 279
12269 19 oracle 145 100
12269 19 oracle 155 1
12269 19 oracle 156 1
12269 19 oracle 160 1
12269 19 oracle 161 1
12269 19 oracle 162 1
12269 19 oracle 163 1
12269 19 oracle 164 1
12269 19 oracle 165 1
12269 19 oracle 166 1
12269 19 oracle 167 1
12269 19 oracle 168 1
12269 19 oracle 169 1
12269 19 oracle 170 1

kill session
SYS @ prod > alter system kill session '145,100';

System altered.

SYS @ prod > select p.spid,p.pid,p.username,ss.sid,ss.serial# from v$process p,v$session ss where p.spid=12269;

SPID PID USERNAME SID SERIAL#
------------ ---------- --------------- ---------- ----------
12269 19 oracle 143 174
12269 19 oracle 144 279
12269 19 oracle 155 1
12269 19 oracle 156 1
12269 19 oracle 160 1
12269 19 oracle 161 1
12269 19 oracle 162 1
12269 19 oracle 163 1
12269 19 oracle 164 1
12269 19 oracle 165 1
12269 19 oracle 166 1
12269 19 oracle 167 1
12269 19 oracle 168 1
12269 19 oracle 169 1
12269 19 oracle 170 1

操作系统层面杀掉 进程
[root@ora10g ~]# kill -9 12269

结论:先查询session 对应的 spid,然后从操作系统层面kill spid 才可以真正的杀掉进程

以下为 eygle的帖子,做参考
http://www.eygle.com/faq/Kill_Session.htm

最新文章

  1. 数据结构图文解析之:直接插入排序及其优化(二分插入排序)解析及C++实现
  2. PHP大数(浮点数)取余
  3. 用get方式提交请求的url带有中文参数
  4. 常用的文件和目录操作命令【转vbird】
  5. 自定义一个可以使用foreach语句进行迭代的类(IEnumerable)
  6. Poj 1511 Invitation Cards(spfa)
  7. [转]javascript函数定义表达式和函数声明的区别
  8. 使用 HTML5 设计辅助功能
  9. 深入理解C#第二版笔记
  10. 十一:Java之GUI图形Awt和Swing
  11. javaWeb超链接(href)请求-特殊字符处理
  12. Python第三方库的安装 --Python3
  13. Nginx访问控制
  14. Unity Input,生命周期,Light,获取组件
  15. Linux内核基本装载卸载
  16. Python3基础系列——枚举类型大揭秘
  17. Java获取当前时间30天之前的时间
  18. arcpy调试
  19. chrome plugins
  20. LeetCode 80. 删除排序数组中的重复项 II

热门文章

  1. 如何在jasperreport自动生成序号
  2. 14.6.1 InnoDB Startup Configuration 启动配置
  3. java HastTable实现
  4. C# 读写INI 文件
  5. 【POJ】1451 T9
  6. 利用python分析nginx日志
  7. eclipse常见错误
  8. Delphi 调试WEBService程序(ISAPI或CGI) 把Web App Debugger executable转换成 ISAPI/NSAPI
  9. HDU-4405 Aeroplane chess
  10. 二:java语法基础: