从 ASH 找到消耗 PGA 和 临时表空间 较多的 Top SQL_ID

Posted 阿西吧li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从 ASH 找到消耗 PGA 和 临时表空间 较多的 Top SQL_ID相关的知识,希望对你有一定的参考价值。

最消耗 PGA 的 sql_id:

select *
from (select instance_number, sql_id, max(pga_sum_mb) pga_max
        from (select instance_number, sample_time, sql_id, round(sum(nvl(pga_allocated, 0))/1024/1024) pga_sum_mb
                from dba_hist_active_sess_history
               where sample_time between to_timestamp(‘&begin_timestamp‘, ‘yyyy/mm/dd hh24:mi‘) and to_timestamp(‘&end_timestamp‘, ‘yyyy/mm/dd hh24:mi‘)
            group by instance_number, sample_time, sql_id)
       group by instance_number, sql_id 
       order by pga_max desc)
where rownum <= 10;


最消耗临时段的 sql_id:

select *
from (select instance_number, sql_id, max(temp_sum_mb) temp_max
        from (select instance_number, sample_time, sql_id, round(sum(nvl(temp_space_allocated, 0))/1024/1024) temp_sum_mb
                from dba_hist_active_sess_history
               where sample_time between to_timestamp(‘&begin_timestamp‘, ‘yyyy/mm/dd hh24:mi‘) and to_timestamp(‘&end_timestamp‘, ‘yyyy/mm/dd hh24:mi‘)
            group by instance_number, sample_time, sql_id)
       group by instance_number, sql_id 
       order by temp_max desc)
where rownum <= 10;  

以上是关于从 ASH 找到消耗 PGA 和 临时表空间 较多的 Top SQL_ID的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE临时表空间总结

ORACLE临时表空间总结

oracle 临时表空间过大问题

oracle 数据文件太大 太多如何处理 (具体数据有几十个oracle 用户,表空间文件有上百G)

Oracle新建用户

如何查询临时表空间被啥占用了