您的位置:首頁技術文章
文章詳情頁

用Quick Slice獲取Oracle進程的線程狀態

瀏覽:5日期:2023-11-22 16:27:45
與Windows NT系統相比,在Unix環境下對每個Oracle進程監視其CPU使用率是很容易的。在NT系統中,只有一個Oracle進程(即,oracle.exe)。在Windows環境下,為了得到Oracle進程的每個線程的狀態,可以使用Quick Slice,一個基于“圖形用戶界面”的獨立程序。它可以從Microsoft網站上免費下載。該軟件適用于所有Windows環境下的Oracle 8i和9i。下面是使用它的方法:

◆1.首先,你需要找出運行Oracle所對應的所有線程的id號。

SQL> select p.spid 'Thread ID', b.name 'Background Process', s.username

'User Name',

s.osuser 'OS User', s.status 'STATUS', s.sid 'Session ID',

s.serial# 'Serial No.',

s.program 'OS Program'

from v$process p, v$bgprocess b, v$session s

where s.paddr = p.addr and b.paddr(+) = p.addr;

下面是輸出結果:

Thread ID Backg User Name OS User STATUS Session ID Serial No.

OS Program

------------ ----- ---------- ---------- -------- ---------- ----------

20229 PMON Oracle ACTIVE 1 1

oracle@db02.s0.gc.media.com (PMON)

20231 DBW0 Oracle ACTIVE 2 1

oracle@db02.s0.gc.media.com (DBW0)

20233 LGWR Oracle ACTIVE 3 1

oracle@db02.s0.gc.media.com (LGWR)

20235 CKPT Oracle ACTIVE 4 1

oracle@db02.s0.gc.media.com (CKPT)

20237 SMON Oracle ACTIVE 5 1

oracle@db02.s0.gc.media.com (SMON)

20239 RECO Oracle ACTIVE 6 1

oracle@db02.s0.gc.media.com (RECO)

20241 ARC0 Oracle ACTIVE 7 1

oracle@db02.s0.gc.media.com (ARC0)

20243 ARC1 Oracle ACTIVE 8 1

oracle@db02.s0.gc.media.com (ARC1)

20245 DMON Oracle ACTIVE 9 1

oracle@db02.s0.gc.media.com (DMON)

18460 SYS Oracle ACTIVE 17 22737

sqlplus@db02.s0.gc.media.com (TNS V1-V3)

15700 Oracle ACTIVE 12 7

oracle@db02.s0.gc.sj.ipixmedia.com (LNS0)

在本例中,線程號為20229的線程是PMON,線程號為20231的線程是DBW0,等等。

◆2.接下來,在'c:Program FilesResource Kit.'目錄中雙擊文件qslice.exe

◆3.為了顯示進程的每個線程,找到進程-oracle.exe并雙擊之。

另外一個圖形窗口將彈出并顯示所有的線程及其CPU使用情況。

◆4.為了識別這些線程,請將線程號(TID)列和前面的SQL語句的線程號列想比較。為了匹配線程號(TID)和Oracle進程ID,你需要使用科學計算器將線程號(TID)由十六進制轉化為十進制。

紅色條代表該線程占用的內核時間;藍色條代表該線程占用的用戶時間。

標簽: Oracle 數據庫
国产综合久久一区二区三区