国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

如何在Windows 2000環(huán)境中Kill掉單個Oracle線程

2024-08-29 13:49:06
字體:
供稿:網(wǎng)友

    
如何在windows 2000環(huán)境中Kill掉單個Oracle線程

 

來源:http://metalink.oracle.com

要害字:Oracle Thread Kill

描述:本文說明在Windows環(huán)境下, Orakill工具的使用

正文:

       你碰到過下面類似的情況嗎?一個用戶進(jìn)程長期占用資源而不釋放,導(dǎo)致Oracle進(jìn)程占用了系統(tǒng)的大量資源,Oralce系統(tǒng)的效率變得很低。假如簡單的關(guān)閉重啟Oracle 實例,勢必影響所有的用戶。有沒有辦法僅僅只Kill掉有問題的用戶進(jìn)程而不用關(guān)閉整個Oralce實例呢?答案是可以的,使用Oralce提供的一個名叫Orakill的工具。

      大家都知道,Windows 2000是一個基于線程的操作系統(tǒng),而不是象Unix、linux那樣基于進(jìn)程的操作系統(tǒng)。整個Oracle的后臺進(jìn)程、用戶進(jìn)程等,在Windows 2000環(huán)境下,都包含在ORACLE.EXE這單獨的一個體系進(jìn)程中了,通過查看’任務(wù)治理器’――’進(jìn)程’就可以看到。假如你不是使用MTS多線程服務(wù)器的模式,假如你Kill掉ORACLE.EXE這個進(jìn)程,將導(dǎo)致整個Oracle實例關(guān)閉,如同使用Shutdown abort命令一樣。

       由于Windows自己沒有提過一個專門用來Kill掉單個線程的工具,因此Oracle從Oracle7.3.3.6開始,自己提供了一個基于字符界面的用來在Windows環(huán)境下強(qiáng)制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

結(jié)果如下:

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 mith        SQLPLUSW.EXE

 

12 rows selected.

需要注重的是,假如你Kill掉的是Oracle的核心后臺線程(DBWR, LGWR, SMON or PMON),將導(dǎo)致Oracle實例關(guān)閉。
檢查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

查詢結(jié)果如下:

 

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.

                                                                 歡迎大家來交流mailto:stevenqiu@sohu.com

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 揭阳市| 临桂县| 昌图县| 自贡市| 房产| 安溪县| 五大连池市| 孟州市| 东光县| 新昌县| 天长市| 闸北区| 华蓥市| 赤水市| 东丽区| 凤庆县| 涟源市| 蒙城县| 阳春市| 襄汾县| 临桂县| 蒙山县| 黔东| 阿克陶县| 博客| 濉溪县| 克东县| 邛崃市| 沅陵县| 汉源县| 莱州市| 鄢陵县| 南开区| 南澳县| 公主岭市| 榕江县| 大厂| 隆化县| 额尔古纳市| 湛江市| 烟台市|