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

Oracle
常见的一些Oracle初学者的问题
ORACLE认证系统概述
数据库考试简介:Oracle认证
Oracle认证基础知识介绍
ADO连接Oracle Access示例及记录集处理源码
SQL Server和MySQL的安全性分析
用Oracle和SQL Server数据库组合利弊分析
Oracle 11g分区功能新革命
Flashback Query 恢复误删除的数据
基于Oracle高性能动态SQL程序开发
怎样在Oracle 9i中正确的转换时区
Oracle 10g导出的数据库能否导入Oracle 9i?
增加Distinct后查询效率反而提高
Oracle限制返回结果集的大小
Java语言数据库操作的基本流程
美国甲骨文(ORACLE)公司入驻渝中区大都会商厦
RHEL AS4上安装oracle 10R2 的方法
DB中如何查询Table占用空间的大小
编写高质量高性能的MySQL语法
Oracle数据库自动备份的具体实现步骤

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 159 ::
收藏到网摘: 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)由十六进制转化为十进制。