• [ORACLE]Oracle ASH报告生成和性能分析


    ASH:

      Active Session History,ASH以v$SESSION为基础,每秒采样一次,记录活动会话等待的事件。不活动的会话不会采样, 采样工作由新引入的后台进程MMNL完成。

    v$active_session_history

      视图提供了在实例级别抽取会话活动信息。活动会话每分钟会被抽样一次且被存储在sga中的循环缓冲区中.任何被连接到数据库且正等待一个不属于空闲等待事件的会话会被考虑是一个活动的会话。每个会话抽样都是一组行数据且通过v$active_session_history视图来返回每个被抽样活动会话的行数据,返回最新被抽样会话的第一行数据。因为活动会话抽样是存储在sga中的循环缓冲区中,系统活动越大的,活动时间越少会话的可以被存储在循环缓冲区中。这意味着在这期间被抽样的每个会话会出现在v$视图中或者会话活动的时间会在v$视图中被显示,这完全依赖于数据库活动情况。

    手工创建快照

    SQL> exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
    
    PL/SQL procedure successfully completed.

    可以通过dba_hist_wr_control查看当前的配置情况,当前awr为每1小时做一次数据快照,保留时间为8天。

    修改配置,每隔10分钟收集一次,保存90天

    SQL> execute dbms_workload_repository.modify_snapshot_settings(interval=>10,retention=>90*24*60);
    
    PL/SQL procedure successfully completed.

     

    生成ASH报告

    ashrpt.sql 在$ORACLE_HOME/rdbms/admin/ashrpt.sql

    SQL> @?/rdbms/admin/ashrpt.sql

    日志报告类型:    text 还是html

    日志报告起始时间:   -9:00

    日志报告结束时间:  <enter>  #当前时间为报告结束时间

    报告名称:      /oracle/D4C/193/D4CASH.html   

    结果: Report written to /oracle/D4C/193/D4CASH.html

    SELECT * FROM 
    (
    SELECT to_char(to_date(trunc(to_char(sample_time,'SSSSS')/10)*10,'SSSSS'),'hh24:mi:ss') start_time,
    decode(ash.session_state,'ON CPU','ON CPU',ash.event) event,
    count(1)/10 total
    from v$active_session_history ash
    where sample_time>sysdate-1/24
    group by trunc(to_char(sample_time,'SSSSS')/10),decode(ash.session_state,'ON CPU','ON CPU',ash.event)
    ) ASH PIVOT (SUM(TOTAL) FOR EVENT IN('ON CPU' AS TOP1,'pX Deq: Slave sestion Stats ' AS TOP2)) ORDER BY 1;



  • 相关阅读:
    20170705总结
    20170703总结
    .NET 框架程序使用 Win32 API
    青春 就此别过
    Aptana Studio 2启动时提示 Workspace Cannot Be Created 解决办法
    App_GlobalResources.afvubzdv.resources.dll”--“拒绝访问。“
    c# 一维数组和二维数组的定义几种方式<转>.
    C#中Split分隔字符串的应用(C#、split、分隔、字符串)<转>
    C#操作字符串方法总结<转>
    C# 时间格式大全
  • 原文地址:https://www.cnblogs.com/tingxin/p/12683030.html
Copyright © 2020-2023  润新知