zoukankan      html  css  js  c++  java
  • [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;



  • 相关阅读:
    VirtualBox不显示64bit版本的iso
    学习和参考资料
    神经网络和机器学习资料整理
    动态空间释放时的错误操作引起的运行时错误
    WIN7 X64的运行命令窗口
    vs2010中的ADO控件及绑定控件
    AdventureWorks2012.mdf的使用
    VS2008/2010 都不能使用Access2010数据库
    WIN7 64位操作系统 无法找到Access驱动
    如何在VS2010的VC++ 基于对话框的MFC程序中添加菜单
  • 原文地址:https://www.cnblogs.com/tingxin/p/12683030.html
Copyright © 2011-2022 走看看