oracle windows 优化工具,使用Windows工具管理Nt上的Oracle数据库

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呢?

2f4f1e3c375292b5d69b000cb93bd6f5.png

2.QSLICE

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

f87405989c161c0edb26a699da991a4e.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

/

运行以上脚本:

9895e38a6a7e4ba240062381fab801da.png

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

相关工具下载地址:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值