网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.在64位Linux环境下安装Oracle数据.
.实例讲解如何使用Oracle数据库to.
.Oracle 8i新增功能.
.Oracle9i重建与切换临时表空间.
.在Oracle中实现时间相加处理.
.对rman命令行为的操作简单分析.
.Oracle数据库的安全策略全面解析.
.Lilo 使 用 详 解.
.教你如何收集Oracle进程中SQL跟踪.
.如何正确使用 HTTP 安装 Oracle .
.登入oracle程序的ip address.
.Oracle数据库诊断案例-redo log日.
.ORACLE数据库不用索引来查找数据.
.Oracle LogMiner终结版(zt).
.ORACLE 数据库备份技术(1).
.ORACLE问题,每天10问(七).
.充分利用自动撤销管理的优点.
.Siebel被Oracle收购CRM严冬之后将.
.ORACLE常用Script.
.ORACLE培训教程(4)-Pro * C 的使.

Windows环境中Kill掉Oracle线程

发表日期:2008-2-9


  你碰到过下面类似的情况吗?一个用户进程长期占用资源而不释放,导致Oracle进程占用了系统的大量资源,Oralce系统的效率变得很低。假如简单的关闭重启Oracle 实例,势必影响所有的用户。 有没有办法仅仅只Kill掉有问题的用户进程而不用关闭整个Oralce实例呢?答案是可以的,使用Oralce提供的一个名叫Orakill的工具。       大家都知道,windows 2000是一个基于线程的操作系统,而不是象Unix、Linux那样基于进程的操作系统。整个Oracle的后台进程、用户进程等,在Windows 2000环境下,都包含在ORACLE.EXE这单独的一个体系进程中了,通过查看’任务治理器’――’进程’就可以看到。假如你不是使用MTS多线程服务器的模式,假如你Kill掉ORACLE.EXE这个进程,将导致整个Oracle实例关闭,如同使用Shutdown abort命令一样。        由于Windows自己没有提过一个专门用来Kill掉单个线程的工具,因此Oracle从Oracle7.3.3.6开始,自己提供了一个基于字符界面的用来在Windows环境下强制Kill掉一个线程的工具――Orakill。 Orakill的使用方法如下: Dos提示符下:>orakill sid thread  说明: sid Oracle的Sid号  thread  Oracle的线程id号 在Sql*plus工具里面可以查询到Oracle的线程号        sql:>Select p.spid THREADID, s.osuser, s.program        sql:>From v$process p, v$session s        sql:>Where p.addr = s.addr 结果如下: THREADID  OSUSER                  PROGRAM --------- ----------------------- ----------------------------- 169       SYSTEM                  ORACLE.EXE 215       SYSTEM                  ORACLE.EXE 280       SYSTEM                  ORACLE.EXE 267       SYSTEM                  ORACLE.EXE 287       SYSTEM                  ORACLE.EXE 288       SYSTEM                  ORACLE.EXE 271       SYSTEM                  ORACLE.EXE 
282       SYSTEM                  ORACLE.EXE  266 269 239       PROD_NT\djones          SVRMGRL.EXE 281       SSMITH-PC\ssmith        SQLPLUSW.EXE   12 rows selected. 需要注重的是,假如你Kill掉的是Oracle的核心后台线程(DBWR, LGWR, SMON or PMON),将导致Oracle实例关闭。检查Oracle的核心后台线程的方法如下: sql:>Select vb.name NOME, vp.programe PROCESSNAME, vp.spid THREADID, vs,sid SID sql:>From v$session vs, v$process vp, v$bgprocess vb sql:>Where vb.addr <> ‘00’ and sql:>vb.paddr = vp.addr and sql:>vp.addr = vs.paddr 查询结果如下:  NOME  PROCESSNAME                         THREADID  SID ----- ----------------------------------- --------- ------ PMON  ORACLE.EXE                          169       1 DBW0  ORACLE.EXE                          215       2 LGWR  ORACLE.EXE                          280       3 CKPT  ORACLE.EXE                          267       4 SMON  ORACLE.EXE                          287       5 RECO  ORACLE.EXE                          288       6 SNP0  ORACLE.EXE                          271       7 SNP1  ORACLE.EXE                          282       8   8 rows selected.
上一篇:通过JDBC操纵Oracle数据库LOB字段的分析 人气:1114
下一篇:用IE登录Linux服务器上的em出现的乱码的解决 人气:1037
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐