当前位置: 首页 > 图文教程 > 数据库 > Oracle > 用Quick Slice获取Oracle进程的线程状态

Oracle
如何从Oracle 9i SQL*Loader中生成外部表定义
简单冷备份恢复操作步骤
解决ASM无法启动问题
将Oracle的数据导入EXCEL中的方法
Oracle数据库在线备份原理
利用SQL * Plus复制遗留的Oracle数据表
分析Oracle下导出某用户所有表的方法
利用SQL *Plus复制遗留的Oracle数据表
解决Oracle下的undo空间过大的问题
如何使用Oracle 10gR2's RMAN进行加密备份
利用多个转储文件导出大量Oracle数据
用Rsync备份Dreamhost 到Windows 上
从Access 2000数据库转移到Oracle 9i
利用Oracle执行计划机制提高查询性能
Oracle的自动数据库诊断监控程序剖析
教你Oracle的数据缓冲区是如何工作
Oracle DBA数据库日常维护完全手册
合理设置数据库以提高查询统计速度
Oracle数据库数据锁定机制全面解析
DBA 应遵循的 Oracle 调优原则

用Quick Slice获取Oracle进程的线程状态


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 142 ::
收藏到网摘: n/a

与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

[email protected] (PMON)

20231 DBW0 Oracle ACTIVE 2 1

[email protected] (DBW0)

20233 LGWR Oracle ACTIVE 3 1

[email protected] (LGWR)

20235 CKPT Oracle ACTIVE 4 1

[email protected] (CKPT)

20237 SMON Oracle ACTIVE 5 1

[email protected] (SMON)

20239 RECO Oracle ACTIVE 6 1

[email protected] (RECO)

20241 ARC0 Oracle ACTIVE 7 1

[email protected] (ARC0)

20243 ARC1 Oracle ACTIVE 8 1

[email protected] (ARC1)

20245 DMON Oracle ACTIVE 9 1

[email protected] (DMON)

18460 SYS Oracle ACTIVE 17 22737

[email protected] (TNS V1-V3)

15700 Oracle ACTIVE 12 7

[email protected] (LNS0)

 

 

 

在本例中,线程号为20229的线程是PMON,线程号为20231的线程是DBW0,等等。

 

 

◆2.接下来,在"c:Program FilesResource Kit."目录中双击文件qslice.exe

 

 

◆3.为了显示进程的每个线程,找到进程-oracle.exe并双击之。

 

 

另外一个图形窗口将弹出并显示所有的线程及其CPU使用情况。

 

 

◆4.为了识别这些线程,请将线程号(TID)列和前面的SQL语句的线程号列想比较。为了匹配线程号(TID)和Oracle进程ID,你需要使用科学计算器将线程号(TID)由十六进制转化为十进制。