继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Oracle-ASH报告获取及分析

慕的地10843
关注TA
已关注
手记 1081
粉丝 200
获赞 962

前言

由于最近要调整oracle性能,需要使用到ASH报告,介于此整理了关于ASH报告的相关信息。

1、ASH报告简介

ASH(Active Session History 活动会话历史记录)临时地保存系统当前的性能诊断信息。和AWR不同,ASH是保存内存之中, 当ASH分配的空间用光的时候,新的记录会覆盖掉旧的记录;AWR会有延迟,看的历史的性能诊断信息,最大可能有一小时的延迟,而ASH是记录当前的最新的性能诊断信息的。ASH 每秒钟收集一次当前处于非空闲等待事件的、活动状态的、session的信息,并保存在V$ACTIVE_SESSION_HISTORY视图中

2、ASH报告获取

1、Linux下面以oracle用户登录,输入‘sqlplus / as sysdba’,登录数据库,在sql提示符处输入<u>@?/rdbms/admin/ashrpt.sql</u>如下图:

webp

脚本.png

2、指定想生成的报告格式html或text,默认为html格式,直接回车就可以

webp

格式.png

3、指定在ash报告开始、结束时间,时间格式有四种,如下图

webp

格式.png

输入 begin_time 的值:<u>15:55:00</u>

输入 duration 的值:<u>900</u> 单位为S,900S即为15分钟

4、指定报告的名字

webp

名称.png

输入 report_name 的值:<u>ash.html</u> ,名字自定义

5、报告生成在当前文件夹,可以导出来进行分析

webp

路径.png

3、ASH报告分析

3.1基本信息

每个ash报告中的起始都记录了oracle系统的基本信息,包括操作系统的信息

webp

summary.png

上图中提供了基本的数据库信息

DB Name:数据库名

DB ID:数据库Id(获取方法select dbid from v$database;)

Instance:实例名

Inst num:数据库实例启动日期

Release:数据库服务器版本号

RAC:是否为RAC

Host:主机名

webp

cpu.png

CPUs****:逻辑cpu个数

SGA Size:SGA大小。

Buffer Cache:Buffer缓存大小

Shared Pool****:共享池大小

ASH Buffer Size:ASH缓存大小

webp

sample.png

Sample Time****:采样时间

Data Source****:数据来源

Analysis Begin Time:开始采样时间

Analysis End Time::采用结束时间

Elapsed Time:采样经历时间

Sample**** Count:样本数量

Average**** Active Sessions:平均活跃会话数

Avg. Active Session per CPU:****平均cpu会话数

3.2 Top Events  等待事件

webp

image.png

top等待事件描述了被抽样会话活动中,由用户、后台等产生的等待事件,使用这些信息可以识别是那些等待事件造成了短暂的性能问题

1、Top User Events即:占很高百分比的用户进程等待事件
2、Top Background Events:占很高百分比的后台进程等待事件
3、Top Event P1/P2/P3 Values:占很高百分比的等待事件的参数值,它通过总的等待时间(%Event)百分比进行排序后被显示.对于每一个等待事件p1,p2,p3的值与等待事件参数parameter 1,parameter 2,parameter 3这三个列相关联

3.3 Load Profile

load profile部分描述了在抽样的会话活动中的负载分析.使用这部分信息可以识别造成短暂性能问题的服务,客户或sql命令类型.

3.3.1 Top Service/Module

top service/module:这部分信息显示了在抽样会话活动中占很高百分比的服务和模块信息

webp

TopServer.png

重点关注如下参数:

1、Service/Module:服务/模块;

2、%Activity:活跃率

3.3.2 Top Client IDs

top client ids:这部分信息显示了在抽样会话活动中占很高百分比的客户端的id信息它是数据库会话中应用程序的特定标识符

3.3.3 Top SQL Command Types

top sql command types:这部分信息显示了在抽样会话活动中占很高百分比的sql命令类型比如select或update


webp

SqlCommandType.png

SQL Command Type :SQL类型,增删改查、PLSQL

Distinct SQLIDs :执行IP

% Activity  Avg :活跃率

Active Sessions:平均会话数

3.3.4 Top Phases of Execution

top phases of execution:这部分信息显示了在抽样会话活动中占很高百分比的执行步骤比如sql,pl/sql和java的编译和执行操作.

3.4 Top SQL

top sql:顶级sql部分描述了抽样会话活动中的顶级sql语句,使用这部分信息可以识别出造成短暂性能问题的高负载sql语句


webp

topSql.png

3.4.1 Top SQL with Top Events

top sql with top events:这部分信息显示了在抽样会话活动中占总的等待事件很高百分比的sql语句.通过点击SQLID跳转到具体SQL信息界面。

webp

TopSqlEvents.png

3.4.2 Top SQL with Top Row Sources

top sql with top row sources:这部分信息显示了在抽样会话活动中占很高百分比的sql语句和它们的详细执行计划信息.通过这部分信息可以识别出哪部分的sql执行消耗了大量的sql执行时间,通过点击SQLID跳转到具体SQL信息界面。

webp

TopRowResource.png

3.4.3 Complete List of SQL Text

complete list of sql text:这部分信息显示了顶级sql语句的完整的文本内容

webp

SqlText.png

3.4.5 Top PL/SQL Procedures

Top PL/SQL Procedures:这部分信息显示了在抽样会话活动中占很高百分比的pl/sql过程.

[图片上传失败...(image-e39410-1545034282648)]

3.5 Top Session

top sessions:这部分信息描述了会话正在等待的一个特定等待事件.使用这部分信息来识别在抽样会话活动中占很高百分比的会话它们可能是造成短暂性能问题的原因

3.5.1 Top Sessions

top sessions:这部分信息显示了在抽样会话活动中占很高百分比的等待会话.

3.5.2 Top Blocking Sessions

top blocking sessions:这部分信息显示了在抽样会话活动中占很高百分比的阻塞会话.

3.6 Top Objects/Files/Latches

top objects/files/latches这部分信息显示了通常最消耗数据库资源的信息

1、top db objects:显示了在抽样会话活动中占所有引用对象很高百分比的数据库对象(比如表和索引)

2、top db files:显示了在抽样会话活动中占访问量很高百分比的数据库文件

3、top latches:显示了在抽样会话活动中占很高百分比的闩锁信息。

PS:闩锁是一种简单低级别串行化机制用来保护sga中的共享数据结构.比如闩锁保护当前访问数据库和缓冲区缓存中数据块结构的用户列表.当维护或查找这些结构时服务器或后台进程请求持有闩锁的时间是非常短暂的.闩锁的实现依赖于操作系统特别是一个进程等待获取一个闩锁多长时间.

3.7 Activity Over Time

activity over time:这一部分是ash报告信息最丰富的一部分.这部分信息对于长时间周期的ash报告来说因为在分析期间它提供了关于活动和工作负载概要深层次的详细信息.activity over time会被分成10个时段.每个时段的大小基于分析所持续的时间.所有内部时段是相等的大小它们可以相互比较.例如,如果分析时间持续10分钟那么所有的时段将会是每个一分钟.然后如果分析时间持续9分30秒,那么外部的时段可能是每个15秒内部的时段可能每个1分钟.


webp

image.png



作者:卖火柴的小小喷泉
链接:https://www.jianshu.com/p/091b9f57e835


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP