Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91766369
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-03-31 16:36:28

来源:赛迪网    作者:严仲勋

与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)由十六进制转化为十进制。

红色条代表该线程占用的内核时间;蓝色条代表该线程占用的用户时间。

阅读(680) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~