oracle 实时查询最耗CPU资源的SQL语句

1. 先通过top命令查看产用资源较多的spid号

 

2.查询当前耗时的会话ID,用户名,sqlID等: select sid,serial#,machine,username,program,sql_hash_value,sql_id,        to_char(logon_time,‘yyyy/mm/dd hh24:mi:ss‘) as login_time from v$session where paddr in (select addr from v$process where spid in (‘5648612‘,‘256523‘));

3. 如果上一步sql_id或者 hash_value不为空,则可用v$sqlarea查出当前正在使用的sql select sql_text   from v$sqltext_with_newlines   where hash_value = &hash_value order by piece;
select * from v$sql where sql_id=‘‘

 

 

 

---CSDN 网友提供的----

 

SELECT 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 = ‘&pid‘)) ORDER BY piece ASC

 

 

oracle 实时查询最耗CPU资源的SQL语句,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。