当前位置: 首页 > news >正文

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

原文链接:

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

相关文章:

  • 怎么在python中输入矩阵_如何使用NumPy在Python中实现矩阵?
  • Use Nid to Change dbname
  • python脚本运行时网络异常_python 网络异常
  • python字符串操作作业_python 字符串操作一
  • 独立钻石棋(Diamond Chess)算法
  • python3 生成二维码_windows使用python3.4生成二维码
  • 刚刚随便GOOGLE和BAIDU了下PIPO和BLOG
  • python 多进程全局变量_浅谈Python 多进程默认不能共享全局变量的问题
  • 嗯,毕业之前还要整理的几件事
  • pb mdi窗口多sheet_趣头条百 PB 规模 Hadoop 实践
  • 26个日文片假名导致Access搜索(80040e14/内存溢出)的解决办法
  • pep8 python 编码规范_读懂PEP8,让你的Python代码更加优雅
  • 关于数据库查询次数的问题
  • python 服务器_我的Python_WEB服务器简单配置
  • 7 安装_python3.7安装教程
  • (三)从jvm层面了解线程的启动和停止
  • 2018一半小结一波
  • exif信息对照
  • Fastjson的基本使用方法大全
  • gf框架之分页模块(五) - 自定义分页
  • JavaScript 一些 DOM 的知识点
  • JavaScript设计模式与开发实践系列之策略模式
  • js作用域和this的理解
  • node学习系列之简单文件上传
  • python_bomb----数据类型总结
  • vue中实现单选
  • 从tcpdump抓包看TCP/IP协议
  • 缓存与缓冲
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 昨天1024程序员节,我故意写了个死循环~
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $().each和$.each的区别
  • ${ }的特别功能
  • (11)MATLAB PCA+SVM 人脸识别
  • (a /b)*c的值
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (六)激光线扫描-三维重建
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • **CI中自动类加载的用法总结
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET 指南:抽象化实现的基类
  • .net连接MySQL的方法
  • .NET使用存储过程实现对数据库的增删改查
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • ::什么意思
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @html.ActionLink的几种参数格式
  • @PreAuthorize注解