首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 开发技术 >> 正文

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

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

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

【责编:michael】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Oracle频道相关导航