Oracle生成ASH报告

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

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

ASH buffers 的最小值为1MB,最大值不超过30MB.内存中记录数据。期望值是记录一小时的内容,所以说ASH 内存记录数据始终是有限的

一般在线上实时诊断数据库性能问题,特别是负载高w出来上了100后,cpu 100%,这个时候用ash实时出日志报告,就能很大程度上准确定位问题所在。

2、ASH关键

在执行SQL> @?/rdbms/admin/ashrpt.sql命令后,会让有如下参数需要手动填写:

(1)日志报告类型

Enter value for report_type: text

-- 选择生成的ASH 报告类型,是text 还是html

(2)日志报告起始时间

Enter value for begin_time: 08/31/1620:00:00

-- 输入ASH 开始的时间,时间格式上面的示例有说明,比如我这里是2016年8月31日晚上20:00:00开始。

(3)日志报告结束时间

Enter value for duration:7200

-- 输入ASH 结束时间,默认是SYSDATE - begin_time,一般输入的分析统计的总时间,一般默认是秒,比如这里7200就是2个小时,拿出2个小时的ash分析日志来。

时间: 2024-08-25 07:30:27

Oracle生成ASH报告的相关文章

oracle生成AWR报告

原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/43971547 实验环境: 操作系统:win7 旗舰版 64bit 数据库:oracle 11G R2 64bit 第1步:登陆sqlplus C:\Users\Administrator>sqlplus / as sysdba 第2步:跑脚本 SQL> @

Oracle生成AWR报告方法

用xshell 登陆: [[email protected] /]$ su - oracle [[email protected] ~]$ sqlplus system/[email protected]/orcl SQL*Plus: Release 11.2.0.4.0 Production on Sun Oct 9 14:16:59 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle

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

ASH: Active Session History,ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件.不活动的会话不会采样, 采样工作由新引入的后台进程MMNL完成. v$active_session_history 视图提供了在实例级别抽取会话活动信息.活动会话每分钟会被抽样一次且被存储在sga中的循环缓冲区中.任何被连接到数据库且正等待一个不属于空闲等待事件的会话会被考虑是一个活动的会话.每个会话抽样都是一组行数据且通过v$active_session_histor

Oracle 获取awr报告

1 登录Oracle用户  su - oracle 2 进入 SQLplus ,扫行 @awrrpt.sql .这里注意,要指定 awrrpt.sql脚本路径,所以建议一开始就进到指定目录这样方便些 cd /u01/app/oracle/product/11.2.0/db_1/rdbms/admin/ 这里有个小技巧,  admin下有很多脚本,用于生成不出的报告, 比如 ashrpt.sql  用于生成 ASH报告. 文件名是用 报告名称缩写+rpt.sql 方式命名的. 3 指定报告格式和时

猜测:Oracle ash报告中SQL Text 出现"** SQL Text Not Available **"的原因

今天在做HVR数据同步软件的数据同步测试,由于数据量比较大(1条记录14M,含有lob字段,3000条记录)并且IO很差,因此导致同步(确切的说是HVR的 refresh)很慢. 在hvr同步的过程,生成了awr报告和ash报告,awr报告很闲,如下: 插一句:log file parallel write 这个等待事件的平均每次等待时间为49ms,io实在是太差了. ash报告的Top SQL Statements部分 出现了"** SQL Text Not Available **"

ORACLE AWR概述及生成AWR报告

1.Overview of the Automatic Workload Repository The Automatic Workload Repository (AWR) collects, processes, and maintains performance statistics for problem detection and self-tuning purposes. This data is both in memory and stored in the database.

oracle手工生成AWR报告方法记录

AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定.问题SQL发现的重要手段.熟练掌握AWR报告,是做好开发.运维DBA工作的重要基本功. AWR报告的原理是基于Oracle数据库的定时镜像功能.默认情况下,Oracle数据库后台进程会以一定间隔(一小时)收集系统当前状态镜像,并且保存在数据库中.生成AWR报告时,只需要指定进行分析的时间段(开始镜像编号和结束镜像编号),就可以生成该时间段的性能分析情况.AWR镜像保存在数据库中的时间为一个月左右

Oracle 11g AWR 系列五:如何生成 AWR 报告?

1.生成单实例 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrrpt.sql2.生成 Oracle RAC AWR 报告:@$ORACLE_HOME/rdbms/admin/awrgrpt.sql3.生成 RAC 环境中特定数据库实例的 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrrpti.sql4.生成 Oracle RAC 环境中多个数据库实例的 AWR 报告的方法:@$ORACLE_HOME/rdbms/admin/awrgrpti.s

Oracle 每天自动生成AWR报告

经验丰富的老员工希望能够每天为数据库生成1个AWR报告,以便于后期分析数据库的性能变化,手动生成太麻烦,查了一下资料,发现可以自动生成,过程如下. 数据库环境:11gR2 RAC(双节点) AWR报告:由于是RAC数据库,希望生成每个节点的报告及全局报告,时间段为:第一天的0点~第二天的0点. (1)在oracle服务器上创建路径 server2$[/home/oracle]mkdir awrreport (2)创建directory并授权(使用sys账户执行) create or replac