Windows环境中Kill失落Oracle线程

来源:网海拾贝




  你遇到过下面相似的景遇吗?一个用户进程长久占用资本而不开释,招致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_NTdjones          SVRMGRL.EXE

281       SSMITH-PCssmith        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.




版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追查纪律责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1975930.html