找出最耗资源的sql

要找出最耗资源的sql,我们可以首先使用top等工具,找到最好资源的进程(记住进程号),例如,操作系统进程号为2796,然后根据这个进程号(v$process.spid)在v$process中找到进程地址(v$process.addr),然后根据这个地址在v$session中找到相应的sid(v$session.sid),然后根据这个sid找到相应的hash alue(v$session. sql_hash_value),然后根据这个hash alue在v$sqltext,$sql,v$sqlarea等视图中找到对应的sql语句(sql_text)。
  
  select * from v$process where spid='2796';
  
  select sql_hash_value,machine,username,program from v$session where PAddr='63B7A584';
  
  select * from v$sqltext where hash_value='833203018';
  
  select * from v$sql where hash_value='833203018';
  
  select * from v$sqlarea where hash_value='833203018';
  
  SELECT a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_text FROM v$session a,v$process b,v$sqltext c WHERE b.spid='2796' AND b.addr=a.paddr AND a.sql_address=c.address(+) ORDER BY c.piece

 

select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where PAddr in (select a.addr from v$process a where spid='4946'));
select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where PAddr in (select a.addr from v$process a where spid=&spid));

转载于:https://www.cnblogs.com/rootq/articles/1079546.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值