[Oracle] - 性能优化工具(2) - ASH

ASH和AWR的关系

ASH以V$SESSION为基础,每秒採样一次,记录活动会话等待的事件。不活动的会话不会採样,採样工作由新引入的后台进程MMNL来完毕。

ASH内存记录数据始终是有限的,为了保存历史数据,引入了自己主动负载信息库(Automatic Workload Repository ,AWR) 由后台进程MMON完毕。ASH信息相同被採集写出到AWR负载库中。因为内存是有限的,所以MMNL进程在ASH写满后会将信息写出到AWR负载库中。

ASH也不是写出所有数据导AWR。所一般仅仅写入收集的10%的数据量,并且使用direct-path insert完毕,尽量降低日志的生成,从而最小化数据库性能影响。

总结一下:AWR是依据snapshot採样间隔来进行系统总体性能推断的。而ASH的粒度更细。

比方你的AWR是1小时採样一次,可是假设一个故障只持续了5分钟,之前和之后数据库都正常。那么这5分钟究竟发生了什么。要去看ASH。

我们在监控数据库时,假设是当前正在发生的问题。我们能够通过v$session+v$sqlarea来找出性能最差的SQL语句。假设在一个小时以内发生的我们能够通过生成ASH报告来找出SQL.假设是1小时以上或几天我们能够通过AWR报告来找出几小时,几天以来最影响系统的SQL语句。ADDM报告基于AWR库。默认能够保存30天的ADDM报告。

我们也能够直接查询试图:

v$session                                     (当前正在发生)

v$session_wait                           (当前正在发生)

v$session_wait_history             (会话近期的10次等待事件)

v$active_session_history          (内存中的ASH採集信息,理论为1小时)

wrh$_active_session_history    (写入AWR库中的ASH信息。理论为1小时以上)

dba_hist_active_sess_history   (依据wrh$_active_session_history生成的视图)

ASH的生成

运行例如以下脚本生成ASH报告:

@?

/rdbms/admin/ashrpt.sql
1. 你是一路回车。就是获取近期15分钟的ASH报表。

2. 你依据oldest ash sample available 时间,然后回车,选择的是眼下能够收集到的最长ASH执行情况
3. 你能够选择Oldest ASH sample available和Latest ASH sample available之间时间,然后输入时长,比方30表示30分钟。取你要取的不论什么时段的ASH报表

ASH报表也能够直接手工获取,比方select output from table(dbms_workload_repository.ash_report_html( dbid,inst_num,l_btime,l_etime);

演示样例:
set pagesize 0
set linesize 121
spool d:\ash_rpt.html
select output from table(dbms_workload_repository.ash_report_html( 977587123,1,SYSDATE-30/1440,SYSDATE-1/1440));
spool off

--包具体參数:
dbms_workload_repository.ash_report_html(
l_dbid         IN NUMBER,
l_inst_num     IN NUMBER,
l_btime        IN DATE,
l_etime        IN DATE,
l_options      IN NUMBER DEFAULT 0,
l_slot_width   IN NUMBER DEFAULT 0,
l_sid          IN NUMBER DEFAULT NULL,
l_sql_id       IN VARCHAR2 DEFAULT NULL,
l_wait_class   IN VARCHAR2 DEFAULT NULL,
l_service_hash IN NUMBER DEFAULT NULL,
l_module       IN VARCHAR2 DEFAULT NULL,
l_action       IN VARCHAR2 DEFAULT NULL,
l_client_id    IN VARCHAR2 DEFAULT NULL,
l_plsql_entry  IN VARCHAR2 DEFAULT NULL)
时间: 2024-11-05 20:40:33

[Oracle] - 性能优化工具(2) - ASH的相关文章

[Oracle] - 性能优化工具(3) - ADDM

ADDM 通过检查和分析AWR获取的数据来判断Oracle数据库中可能的问题,并给出优化建议. 获取ADDM的方法如下: @?/rdbms/admin/addmrpt.sql 下面可以看一个例子: --第一步:创建测试用的表 drop table t cascade constraints purge; create table t AS SELECT * FROM dba_objects ; --第二步:快照 exec dbms_workload_repository.create_snaps

[Oracle] - 性能优化工具(5) - AWRSQL

在AWR中定位到问题SQL语句后想要了解该SQL statement的详细运行计划,于是就用AWR报告中得到的SQL ID去V$SQL等几个动态性能视图中查询,但发现V$SQL或V$SQL_PLAN视图都已经找不到相应SQL ID的记录,一般来说这些语句已经从shared pool共享池中被替换出去了. 这个时候我们能够尝试使用DBMS_XPLAN.DISPLAY_AWR存储过程来将Oracle Automatic Workload Repository自己主动负载仓库中记录的SQL语句相关信息

[Oracle] - 性能优化工具(1) - AWR

AWR快照 默认情况下,Oracle每隔一小时会自己主动产生一个快照,保存近期8天的快照. 我们能够通过例如以下语句获得产生快照的时间间隔和保存的天数: [email protected](lx15)> select SNAP_INTERVAL,RETENTION from dba_hist_wr_control; SNAP_INTERVAL RETENTION -------------------------------------------------------------------

[Oracle] - 性能优化工具(4) - AWRDD

AWRDD是用于比較两个AWR快照,从而获得不同一时候期的性能. 运行例如以下语句获得AWRDD: @?/rdbms/admin/awrddrpt.sql 2025 23 2月 2014 07:12 1 2026 23 2月 2014 08:00 1 2027 23 2月 2014 09:00 1 2028 23 2月 2014 10:00 1 2029 23 2月 2014 11:00 1 2030 23 2月 2014 11:24 1 2031 23 2月 2014 11:26 1 2032

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33 课程介绍 Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第3/10套:Oracle性能优化之性能诊断工具.主要学习Oracle性能优化,Oracle自带性能诊断工具介绍,日常维护中的性能工具操作过程,awr性能数据的收集时间,awr自动收集性能报告如何实现,awr手工快照如何实现,awr baseline的手工调整与管理,awr性能相关的视图介绍,awr性

Oracle性能优化之性能跟踪工具_超越OCP精通Oracle视频教程培训34

Oracle性能优化之性能跟踪工具_超越OCP精通Oracle视频教程培训34 课程介绍 Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第4/10套:Oracle性能优化之性能跟踪工具.主要学习Oracle性能优化,如何获取跟踪文件,sql_trace及案例,10046事件及案例,trace内容分析,oradebug及案例,dbms_system,dbms_monitor及案例,dbms_support,10053事件及案例,综合案例

Oracle性能优化之操作系统工具_超越OCP精通Oracle视频教程培训37

Oracle性能优化之操作系统工具_超越OCP精通Oracle视频教程培训37 课程介绍 风哥Oracle视频教程<<Oracle数据库性能优化培训教程>>的第7/10套:Oracle性能优化之操作系统性能工具.学习Oracle性能优化,1.操作系统性能优化分析及工具说明,操作系统性能工具之top/topas,vmstat,iostat,free/lsps/swapinfo,mpstat/sar,网络分析,基本信息查看,操作系统性能收集与分析之nmon,oswatcher. 视频教

Oracle性能分析工具介绍及使用

oracle数据库级别优化分析工具介绍 当我们对数据库优化诊断时,需要收集相应的信息以供参考,从个人的使用经验来说,这种统计数据分为两大类 一类是数据库级别的统计信息二类是os级别的统计信息 下面就分别介绍在不同的级别下,常用什么工具来收集信息帮助优化诊断 首先是oracle数据库级别优化分析工具介绍 目录: 1.statspack2.ASH3.AWR4.ORACLE EXPLAIN PLAN的总结(查询sql的执行计划)   a.autotrace   b.explain的使用 1.stats

Oracle 性能优化的基本方法

Oracle 性能优化的基本方法概述 1)设立合理的性能优化目标. 2)测量并记录当前性能. 3)确定当前Oracle性能瓶颈(Oracle等待什么.哪些SQL语句是该等待事件的成分). 4)把等待事件记入跟踪文件. 5)确定当前的OS瓶颈. 6)优化所需的成分(应用程序.数据库.I/O.争用.OS等). 7)跟踪并实施更改控制过程. 8)测量并记录当前性能 9)重复步骤3到7,直到满足优化目标 1.设立合理的性能优化目标 重点:关于设立目标的最重要的一点是它们必须是可量化和可达到的. 方法:目