如果会话运行超过 15 分钟,我们会收到很多长操作警报,这些警报会被触发。但并非所有这些都是 CPU 资源消耗。
因此,为了限制我们收到的警报数量,我想将 CPU 消耗添加到长操作警报 SQL 查询中。
我需要一个 SQL 脚本来检查已经存在超过 15 分钟的长操作会话,以及检查在这些长操作会话中消耗 CPU 超过 50% 的会话的条件。请帮忙。
查询以检查我正在使用的运行超过 15 分钟的长操作:
SELECT count(*) as long_running_count FROM V$SESSION_LONGOPS
WHERE username is not NULL and totalwork > 0 and SOFAR <> TOTALWORK
and OPNAME NOT LIKE '%aggregate%' AND (SYSDATE - start_time)2460 > 15;