使用Windows工具管理Nt上的Oracle数据库

原创 2004年10月08日 11:25:00

原文链接:

http://www.eygle.com/faq/Use.Nt.tools.manage.Oracle.htm

1.TOP

<?XML:NAMESPACE PREFIX = O />

Top 工具可以监视最消耗系统资源的进程

Pid 即process id,Windows是多线程服务器,每个进程包含一系列线程,这个与UNIX不同,Unix每个Oralce进程独立存在,在Nt上所有线程由Oralce进程衍生。

所以只用TOP工具我们还无法找出每个连接的用户进程。

image001.png

 

71% 00000000?1?16384?0?8:52:53.936 No Name Found
0% 00000008?4116?282624?24576?0:00:45.164 System
1% 000000B8?27023?991232 2207744?0:03:10.313 CSRSS.EXE
0% 00000524?1844 2035712 3137536?0:00:11.726 rundll32.exe
0% 0000032C?1002 1765376 1380352?0:00:08.432 AOM.exe
0% 000004E8?773695 7610368 8146944?0:04:26.533 XDICT.EXE
0% 00000720?583880 5079040 33280000?0:08:29.122 NetCaptor.exe
23% 000006F4?11882 37056512 79757312?0:00:07.661 oracle.exe
0% 00000420?1622 1478656 2420736?0:00:00.170 SQLPLUS.EXE
                      

如果windows上由于某个进程的sql或其他问题导致资源过度占用或消耗,比如如下这样一条语句,那么我们怎样来找到这条问题sql呢?

image003.png

2.QSLICE

找到最消耗资源的线程号,本例中为(6ec),为16进制,需要转换,v$process视图中的进程ID为十进制

image005.png

使用getsql.sql脚本即可获得当前正在执行的SQL语句:

 

REM getsql.sql
REM author eygle
REM 在windows上,已知进程ID,得到当前正在执行的语句
REM 在windows上,进程ID为16进制,需要转换,在UNIX直接为10进制
SELECT   /*+ ORDERED */
         sql_text
    FROM v$sqltext a
   WHERE (a.hash_value, a.address) IN (
            SELECT DECODE (sql_hash_value,
                           0, prev_hash_value,
                           sql_hash_value
                          ),
                   DECODE (sql_hash_value, 0, prev_sql_addr, sql_address)
              FROM v$session b
             WHERE b.paddr = (SELECT addr
                                FROM v$process c
                               WHERE c.spid = TO_NUMBER ('&pid', 'xxxx')))
ORDER BY piece ASC
/

运行以上脚本:

image007.png

 

ok,找到这最消耗资源的问题SQL接下来就可以进行针对性调整了.

相关工具下载地址:

http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/qslice-o.asp

 

 

NT式驱动安装卸载

TestDDK125096.sys #include void TestDDK125096Unload(IN PDRIVER_OBJECT DriverObject) { DbgPrint("...
  • qq125096885
  • qq125096885
  • 2015年05月20日 23:19
  • 501

Windows NT内核分析

     由于我在看到这篇文章时已经没有了作者与译者的信息,抱歉一下,这的确是一篇好文,值得转:     00.系统组件     01.Windows NT操作系统的内存格局     02.Windo...
  • thinkSJ
  • thinkSJ
  • 2006年08月06日 21:45
  • 6414

配置oracle 11g数据遇到dim-00014: 无法打开windows nt服务控制管理器

配置oracle 11g数据遇到dim00014 orical无法打开windows nt服务控制管理器   安装环境windows7 oracle 安装完成后 需要配置...
  • haiross
  • haiross
  • 2014年08月22日 13:41
  • 12170

驱动开发(3)使用SCM加载NT驱动(用应用程序加载驱动)

在上一篇中,我简单介绍编写了一个NT驱动空壳,这一篇中,将介绍如何自己编写一个驱动程序加载器,即使用编程的方法加载驱动,而不是使用工具。 我在上一篇中也提到了,驱动程序是通过服务加载的,我以前写过SC...
  • zuishikonghuan
  • zuishikonghuan
  • 2015年10月02日 11:02
  • 1728

SQLServerAgent 服务无法启动问题

如果在特定的用户帐户下启动 MSSQLServer 或 SQLServerAgent 服务遇到困难,可以:   使用 Windows NT 用户管理器验证该计算机上的帐户具有'作为服务登录'权限...
  • seteor
  • seteor
  • 2011年08月11日 12:14
  • 2584

服务器:安装Windows NT 4.0的17个注意事项

服务器:安装Windows NT 4.0的17个注意事项  适用机型: 所有服务器 文档内容: 1.做三张引导盘来引导安装NT4.0.做法如下. 在95或98系统中,插入NT光盘,进入DOS窗口,进入...
  • proglovercn
  • proglovercn
  • 2007年04月09日 12:34
  • 2174

程序兼容模式及管理员权限读取

桌面上图标右键->属性->兼容性->(兼容模式、管理员权限) | |映射注册表 | 当前用户 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Curre...
  • u011677067
  • u011677067
  • 2016年08月28日 11:57
  • 487

Windows NT 内核版本号对应的操作系统

Microsoft Windows NT(New Technology)是Microsoft在1993年推出的面向工作站、网络服务器和大型计算机的网络操作系统,也可做PC操作系统。它与通信服务紧密集...
  • qing666888
  • qing666888
  • 2016年03月10日 09:31
  • 4347

windows环境变量管理工具EnvMan

windows下设置环境变量,相信大家都很熟悉了。今天学习东西,又看到又要设置环境变量。突然想到,现在越来越多的软件以及教程,都叫你设置环境变量,然后系统自带环境变量设置工具又……,不解释。想想应该有...
  • zero_spy
  • zero_spy
  • 2013年12月14日 10:50
  • 1524

NT驱动加载方式

摘要: 最近在分析一个驱动级别的脱壳器OllyBonE(OllyDbg的一个插件), 遂即对驱动做了简单的了解,驱动程序主要分为两类:一类是不支持即插即用的NT是驱动程序如NTDDK.h;另外一类是...
  • whatday
  • whatday
  • 2016年08月09日 22:53
  • 1524
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Windows工具管理Nt上的Oracle数据库
举报原因:
原因补充:

(最多只允许输入30个字)