在 Oracle 中查找 CPU 使用最多的会话或 SQL 查询
Oracle 中的前 10 个 CPU 消耗会话
col program form a30 heading "Program" col CPUMins form 99990 heading "CPU in Mins" select rownum as rank, a.* from ( SELECT v.sid,sess.Serial# ,program, v.value / (100 * 60) CPUMins FROM v$statname s , v$sesstat v, v$session sess WHERE s.name = 'CPU used by this session' and sess.sid = v.sid and v.statistic#=s.statistic# and v.value>0 ORDER BY v.value DESC) a where rownum < 11;
最近 10 分钟内 CPU 消耗最高的会话
select * from ( select session_id, session_serial#, count(*) from v$active_session_history where session_state= 'ON CPU' and sample_time >= sysdate - interval '10' minute group by session_id, session_serial# order by count(*) desc );
在 Oracle 中消耗更多的 CPU的SQL id
col program form a30 heading "Program" col cpu_usage_sec form 99990 heading "CPU in Seconds" col MODULE for a18 col OSUSER for a10 col USERNAME for a15 col OSPID for a06 heading "OS PID" col SID for 99999 col SERIAL# for 999999 col SQL_ID for a15 select * from ( select p.spid "ospid", (se.SID),ss.serial#,ss.SQL_ID,ss.username,substr(ss.program,1,30) "program", ss.module,ss.osuser,ss.MACHINE,ss.status, se.VALUE/100 cpu_usage_sec from v$session ss,v$sesstat se, v$statname sn,v$process p where se.STATISTIC# = sn.STATISTIC# and NAME like '%CPU used by this session%' and se.SID = ss.SID and ss.username !='SYS' and ss.status='ACTIVE' and ss.username is not null and ss.paddr=p.addr and value > 0 order by se.VALUE desc);
在 Oracle 中最消耗 CPU的SQL 文本
col cpu_usage_sec form 99990 heading "CPU in Seconds" select * from ( select (se.SID),substr(q.sql_text,80),ss.module,ss.status,se.VALUE/100 cpu_usage_sec from v$session ss,v$sesstat se, v$statname sn, v$process p, v$sql q where se.STATISTIC# = sn.STATISTIC# AND ss.sql_address = q.address AND ss.sql_hash_value = q.hash_value and NAME like '%CPU used by this session%' and se.SID = ss.SID and ss.username !='SYS' and ss.status='ACTIVE' and ss.username is not null and ss.paddr=p.addr and value > 0 order by se.VALUE desc);
附录
https://smarttechways.com/2021/02/24/find-top-cpu-consuming-session-or-sqls-query-in-oracle/
喜欢请赞赏一下啦^_^
微信赞赏
支付宝赞赏