暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 查看cpu很高的sql语句

还我至尊 2024-08-02
59

1、sql语句
测试这么一条占CPU 高的程序:
declare
i number;
j number;
begin
i := 0;
loop
j := sqrt(i);
i := i + 1;
end loop;
end;
/

2、查看cpu
image.png

3、根据pid查询sql
image.png

image.png

4、查看当前执行的sql

SELECT d.spid,a.sid,b.event,b.status,C.SQL_TEXT,B.USERNAME,B.OSUSER,B.MACHINE,B.PROGRAM
FROM gV$SESS_IO A,gV$SESSION B,gV$SQL C,gV$PROCESS D
WHERE A.SID=B.SID AND B.SQL_HASH_VALUE=C.HASH_VALUE
AND B.PADDR=D.ADDR and b.status=‘ACTIVE’ order by sql_text;

5、可以使用以下SQL查询来找到特定进程(通过SPID关联)正在执行的SQL语句:sql

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’ – 这里替换为实际的进程ID
)
)
ORDER BY piece ASC;

image.png

最后修改时间:2024-08-02 16:47:25
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论