首页 > 其他分享 >ASH日志报告详解

ASH日志报告详解

时间:2024-05-12 18:31:20浏览次数:14  
标签:抽样 top 这部分 信息 会话 详解 sql 日志 ASH

本文转自:https://blog.csdn.net/cuiyan1982/article/details/77814534

1.ASH日志报告详解

1.1 ASH报告

使用ash报告,在生成ash报告之后,可以重新检索哪些标识为短暂性能问题的信息。

ash报告的内容分成了以下几个部分:

  • top events
  • load profile
  • top sql
  • top pl/sql
  • top java
  • top sessions
  • to objects/files/latches
  • activity over time

ORACLE 11G 性能诊断优化之ASH实战分析详解_sql语句

1.2 Top Evnets

顶级等待事件部分描述了被抽样会话活动中由用户,后台等产生的顶级等待事件,使用这些信息可以识别是哪些等待事件造成了短暂的性能问题。顶级等待事件包含以下部分:

(1)Top User Events顶级用户事件

这部分信息显示了在抽样会话活动中占很高百分比的用户进程等待事件。

(2)Top Background Events顶级后台事件

这部分信息显示了在抽样会话活动中占很高百分比的后台进程等待事件。

(3)Top Event P1/P2/P3 Values顶级等待事件参数P1/P2/P3

这部分信息显示了在抽样会话活动中占很高百分比的等待事件的参数值它通过总的等待时间(%Event)百分比进行排序后被显示。对于每一个等待事件p1,p2,p3的值与等待事件参数parameter 1,parameter 2,parameter 3这三个列相关联.

案例如下图所示:

ORACLE 11G 性能诊断优化之ASH实战分析详解_数据_02

1.3 Load Profile

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

(1)top service/module

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

(2)top client ids

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

(3)top sql command types

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

(4)top phases of execution

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

案例如下图所示:

 ORACLE 11G 性能诊断优化之ASH实战分析详解_等待事件_03

1.4 Top Sql

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

顶级sql部分包含以下信息:

  • top sql with top events
  • top sql with top row sources
  • top sql using literals
  • top parsing module/action
  • complete list of sql text

(1)top sql with top events

这部分信息显示了在抽样会话活动中占总的等待事件很高百分比的sql语句.

(2)top sql with top row sources

这部分信息显示了在抽样会话活动中占很高百分比的sql语句和它们的详细执行计划信息。通过这部分信息可以识别出哪部分的sql执行消耗了大量的sql执行时间

(3)top sql using literals

这部分信息显示了在抽样会话活动中占很高百分比的使用literal值的sql语句。可以重新检查这部分sql语句看是否能使用绑定变量来代替literal值.

(4)top parsing module/action

这部分信息显示了在抽样会话活动中当执行解析sql语句时占很高百分比的模块和操作

(5)complete list of sql text

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

(6)top pl/sql

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

(7)top java

这部分信息显示了在抽样会话活动中占很高百分比的java程序

1.5 top sessions

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

top sessions部分包含以下信息:

(1)top sessions

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

(2)top blocking sessions

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

(3)top sessions running pqs

这部分信息显示了哪些在抽样会话活动中占很高百分比的正处于等待的并行查询

1.6 top objects/files/latches

这部分信息显示了通常最消耗数据库资源的信息括以下部分:

(1)top db objects

这部分信息显示了在抽样会话活动中占所有引用对象很高百分比的数据库对象(比如表和索引)

(2)top db files

这部分信息显示了在抽样会话活动中占访问量很高百分比的数据库文件

(3)top latches

这部分信息显示了在抽样会话活动中占很高百分比的闩锁信息。

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

(4)Activity over time

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

特定时段中每个时段包含的信息如下:

列                       描述

slot time(持续时间)      时段的持续时间

solt count               在时段中抽样会话的数量

event                    在时段中顶级的三个等待事件

event count              ash抽样等待的等待事件的数量

%event                   ash抽样等待的等待事件在整个分析期间所占的百分比

当比较内部时段时,通过识别异常的event count和slot count列执行一个倾斜分析。event count列的异常指示了在抽样会话中等待的等待事件数量增加了,slot count列的异常指示活动的会话数增加了,因为ash数据只从活动会话中进持抽样,说明数据库的

负载增加了。通常来说当活动会话抽样的数理和与这些会话相关的等待事件增加时,那么这个时段可能会造成短暂性能问题,如下所示:

ORACLE 11G 性能诊断优化之ASH实战分析详解_sql语句_04

标签:抽样,top,这部分,信息,会话,详解,sql,日志,ASH
From: https://www.cnblogs.com/dclogs/p/18188036

相关文章

  • Oracle之ASH、AWR、ADDM区别
    转自:https://www.cnblogs.com/remote-antiquity/p/7815747.html一、AWR(AutomaticWorkloadRepository)自动工作负载信息库  AWR是Oracle 10g中的一个新特性,类似于10g以前的statspack.不过在使用上要比statspack简单,提供的性能指标要比statspack多很多,能更好的帮助DBA来发......
  • HTTP 连接详解
    概述世界上几乎所有的HTTP通信都是由TCP/IP承载的,客户端可以打开一条TCP/IP连接,连接到任何地方的服务器。一旦连接建立,客户端和服务器之间交换的报文就永远不会丢失、受损或失序TCP(TransmissionControlProtocol)传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层......
  • Flink Batch Hash Aggregate
    数据类型要求BatchPhysicalHashAggRulematch条件会判断isAggBufferFixedLength(agg)为什么要求aggCall的类型是FixedLength的才可以使用HashAggregate?因为在HashAggregate中,依赖于BytesHashMap数据结构来存储keyValue数据.而ByteHashMap不支持变长的val......
  • html5新标签 画布 canvas 替代了 flash
    绘制矩形边框,和填充不同的是绘制使用的是strokeRect,和strokeStyle实现的 绘制路径绘制路径的作用是为了设置一个不规则的多边形状态路径都是闭合的,使用路径进行绘制的时候需要既定的步骤:需要设置路径的起点使用绘制命令画出路径封闭路径填充或者绘制已经封闭路......
  • 详解Redis持久化(持久化高危漏洞利用与多种对抗方案、RDB、AOF、同步手动持久化、异步
    谨防持久化+未授权访问漏洞入侵服务器CVE编号找不到,CNVD有一个:CNVD-2015-07557(国家信息安全漏洞共享平台漏洞编号)。这是我之前写过的文章,漏洞成因、影响范围、POC与对抗方案有详解:谨防利用Redis未授权访问漏洞入侵服务器RDB(RedisDatabase、全量保存,默认方式)极简概括:通过符......
  • bash文件书写学习记录
    参考资料:基于Bash脚本自己开发ROS的一键启动-古月居(guyuehome.com)#!/bin/bash和#!/usr/bin/envbash的区别-CSDN博客几种常见shell解释器(sh,bash,csh,tcsh,ash)以及bash的优点_bash与ash-CSDN博客 第一个链接对于bash文件的书写写的挺好的通俗易懂;  launch文件......
  • 与awr/addm/ash类似信息的相关视图
    转自:https://www.cnblogs.com/lijiaman/p/10381167.html(一)session相关视图(1)视图v$sessionv$active_session_history、wrh$_active_session_historydba_hist_active_session_history如果是多节点数据库,v$session和v$active_hist_session_history仅获得单节点的信息,可以使......
  • 【YashanDB知识库】ycm托管数据库时,数据库非OM安装无法托管
    问题现象ps-ef|grepyas查看无yasom和yasagent进程,且在{数据库安装目录}/om/{数据库名称}的目录下没有conf、data、log等目录,确定数据库不是用yasboot安装,是用脚本安装的问题的风险及影响非yasboot安装,ycm无法完成托管,无法监控问题影响的版本不涉及ycm的版本问题问题发......
  • 使用Git bash切换Gitee、GitHub多个Git账号
    使用Gitbash切换Gitee、GitHub多个Git账号​ Git是分布式代码管理工具,使用命令行的方式提交commit、revert回滚代码。这里介绍使用Gitbash软件来切换Gitee、GitHub账号。​ 假设在gitee.com上的邮箱是[email protected]、用户名为alice;在github上的邮箱是[email protected]、......
  • Kubernetes Dashboard部署安装recommended.yaml
    ```yml#Copyright2017TheKubernetesAuthors.##LicensedundertheApacheLicense,Version2.0(the"License");#youmaynotusethisfileexceptincompliancewiththeLicense.#YoumayobtainacopyoftheLicenseat##http://www.apache.......