返回顶部
首页 > 资讯 > 数据库 >浅谈ORACLE AWR single instance 一
  • 394
分享到

浅谈ORACLE AWR single instance 一

2024-04-02 19:04:59 394人浏览 独家记忆
摘要

oracle中的AWR,全称为Automatic Workload Repository,自动负载信息库。 AWR是DBA了解其运行状态的重要工具之一,根据AWR报告可以对oracle数据库性能整

oracle中的AWR,全称为Automatic Workload Repository,自动负载信息库。 

AWR是DBA了解其运行状态的重要工具之一,根据AWR报告可以对oracle数据库性能整体了解并针对性优化,此文章主要是介绍AWR相关部分的内容。

DB Name         DB Id    Instance     Inst Num Startup Time    Release     RAC

------------ ----------- ------------ -------- --------------- ----------- ---

                                             1 16-Jan-17 09:27 11.2.0.4.0  NO


Host Name        PlatfORM                         CPUs Cores Sockets Memory(GB)

---------------- -------------------------------- ---- ----- ------- ----------

                 linux x86 64-bit                    8     8       2       7.81


              Snap Id      Snap Time      Sessions Curs/Sess

            --------- ------------------- -------- ---------

Begin Snap:     10848 14-Mar-17 09:00:51        66       1.4

  End Snap:     10849 14-Mar-17 10:00:55        66       1.5

   Elapsed:               60.07 (mins)

   DB Time:                0.93 (mins)


Sessions

采集性能信息时,oracle 实例链接的会话数,有助于判断DB的类

Cursors/Session

单个会话平均打开的游标数

Elapsed

DB实际使用时间

DB Time

数据库操作花费的时间,包括CPU和Wait Event time,DB Time越高数据库,数据库负载越高。

通过DB Time/Elapsed 比值判断数据库的繁忙程度,比值越高,数据库越繁忙。

DB Time = CPU time + Wait time(不包括后台进程及空闲等待)

对应V$SESSION 中的elapsed_time

Load Profile                    Per Second   Per Transaction  Per Exec  Per Call

~~~~~~~~~~~~~~~            ---------------   --------------- --------- ---------

             DB Time(s):               0.0               0.0      0.00      0.00

              DB CPU(s):               0.0               0.0      0.00      0.00

      Redo size (bytes):           1,343.6           3,388.8

  Logical read (blocks):             394.1             993.9

          Block changes:               5.4              13.6

 Physical read (blocks):               0.4               1.1

Physical write (blocks):               0.6               1.4

       Read IO requests:               0.4               1.1

      Write IO requests:               0.4               1.1

           Read IO (MB):               0.0               0.0

          Write IO (MB):               0.0               0.0

             User calls:              64.8             163.4

           Parses (sql):              21.0              52.9

      Hard parses (SQL):               0.0               0.1

     SQL Work Area (MB):               0.2               0.5

                 LoGons:               0.1               0.2

         Executes (SQL):              22.2              55.9

              Rollbacks:               0.0               0.0

           Transactions:               0.4


DB Time    DB CPU

DB Time 3.3s DB CPU 1.4s   Wait Event 3.3-1.4=1.9s, DB CPU占DB Time的比重为1.4/3.3=42%

可以看出此DB系统的非CPU等待占比比较大

DB CPU占比42.55%

db file sequential read/db file scattered read//libary cache:mutex X/latch:shared pool为CPU等待的TOP 4 wait event

(DB Time > DB CPU + FG Wait event   DB Time 会计算在CPU繁忙时的等待CPU的队列时间)

继续分析

redo size   日志的产生量

Logical reads  逻辑读,单位是块

良好的OLTP logical reads/ Executes 在50左右

Block Changes

每秒、事务改变的数据块

Physical reads

物理读

User Calls

每秒(每个事务)用户调用次数。User calls/Executes基本上代表了每个语句的请求次数,Executes越接近User calls越好

Pasre

解析次数,不包括快速软解析(MOS上说执行3次的SQL语句会把游标缓存到PGA,这个游标一直开着,当再有相同的SQL执行时,则跳过解析的所有过程直接去取执行计划)

软解析过多说明应用程序的效率不高

Hard Parse

硬解析的次数,此指标过高说明绑定变量没有做好

Sorts

排序次数

W/A MB processed 

单位MB  W/A workarea  workarea中处理的数据数量  结合 In-memory Sort%, sorts (disk) PGA Aggr一起看   

Logon

登入数据库的次数

Executes

执行次数

Rollbacks

回滚次数

Transactions

事务数

Instance Efficiency Percentages (Target 100%)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

            Buffer Nowait %:  100.00       Redo NoWait %:  100.00

            Buffer  Hit   %:  100.00    In-memory Sort %:  100.00

            Library Hit   %:   99.30        Soft Parse %:   99.79

         Execute to Parse %:    5.27         Latch Hit %:  100.00

Parse CPU to Parse Elapsd %:   78.31     % Non-Parse CPU:   94.25


此模块记录oracle instance memory的使用信息,目标为100%,针对OLTP系统,此模块信息比较重要,对于OLAP系统,意义不大。

Buffer Nowait%

非等待方式获取数据块的百分比

这个值偏小,说明发生SQL访问数据块时数据块正在被别的会话读入内存,需要等待这个操作完成。发生这样的事情通常就是某些数据块变成了热块。

 

Buffer Nowait<95%说明,有可能是有热块(查找x$bh的 tch和v$latch_children的cache buffers chains)。

Redo Nowait

非等待获取redo数据

Buffer Hit%

数据缓存命中率

In-memory Sort%

数据排除操作在内存中的百分比

Library Hit%

共享池中SQL解析的命中率

(相关参数SHARED_POOL_SIZE\BINGD VALUE\CURSOR_SHARING)

Soft Parse %

软解析占解析的比率  value偏低表示DB中多数SQL没有被重用  <95%考虑绑定变量

Latch Hit%

Latch的命中率

其值低是因为shared_pool_size过大或没有使用绑定变量导致硬解析过多。要确保>99%,否则存在严重的性能问题,比如绑定等会影响该参数。

Parse CPU to Parse Elapsd%

解析总时间中消耗CPU的时间百分比。即:100*(parse time cpu / parse time elapsed)

解析实际运行事件/(解析实际运行时间+解析中等待资源时间),越高越好。

%Non-Parse CPU

CPU非分析时间在整个CPU时间的百分比。


 Shared Pool Statistics        Begin    End

~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ------  ------

             Memory Usage %:   87.44   87.82

    % SQL with executions>1:   98.06   97.25

  % Memory for SQL w/exec>1:   92.56   92.46

Memory Usage %

 

共享池内存使用率。

应该稳定在70%-90%间,太小浪费内存,太大则内存不足。

 

% SQL with executions>1

 

执行次数大于1的SQL比率。

若太小可能是没有使用绑定变量。

 

% Memory for SQL w/exec>1

 

执行次数大于1的SQL消耗内存/所有SQL消耗的内存(即memory for sql with execution > 1)。 


您可能感兴趣的文档:

--结束END--

本文标题: 浅谈ORACLE AWR single instance 一

本文链接: https://lsjlt.com/news/38196.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 浅谈ORACLE AWR single instance 一
    Oracle中的AWR,全称为Automatic Workload Repository,自动负载信息库。 AWR是DBA了解其运行状态的重要工具之一,根据AWR报告可以对oracle数据库性能整...
    99+
    2024-04-02
  • 浅谈Oracle索引
    Oracle中查询走索引的情况: 对返回的行无任何限定条件,即没有where子句。 未对数据表与任何索引主列相对应的行限定条件。 例如:在id-name-time列创建了三列复合索引,那么仅对name列限定条件不能使用这个索...
    99+
    2014-07-01
    浅谈Oracle索引
  • 浅谈C#数组(一)
    目录一.简单数组之一维数组   1.数组的声明   2.数组的初始化3.访问数组元素4.数组中使用引用类型二.多维数组三.锯齿数组四.Array类1.创建数组2.复制数组3.排序五....
    99+
    2024-04-02
  • Oracle AWR性能优化一例
    有一个批处理程序运行超过24小时仍然不能完成,采集了程序运行期间的AWR报告如下。 由上可以看到,该系统为AIX的单实例数据库,采样时长1319.96 分钟,DB time 1532.15分钟。 看一下TO...
    99+
    2024-04-02
  • 浅谈一下Android的Activity
    目录前言 :一 Activity 启动和结束二 Activity 生命周期1 Activity 的四种状态2 流程解读3 具体功能4 总结三 Activity 启动模式分类1 Sta...
    99+
    2023-05-16
    Android组件 Android Activity
  • 如何高效学习oracle数据库浅谈之一
    文章具体内容请移步如下链接:http://mp.weixin.qq.com/s__biz=MzIwMjU2MjI1OQ==&tempkey=sXhfnzfIdrymRA7B8csLCRQWvqPIs...
    99+
    2024-04-02
  • 一文浅谈:&和&&的区别
    当我们在Java中使用逻辑运算符时,经常会用到两个符号:& 和 &&。这两个符号在表达式中的作用非常重要,但是很多人容易混淆它们的使用,因此我们需要了解它们之间的区别。 一、& 和 && 的用途 & 和 && 都可以用于逻辑运算,例 in...
    99+
    2023-10-24
    java jvm 面试
  • 浅谈一下Spring中的createBean
    目录找到BeanClass并且加载类实例化前实例化Supplier创建对象工厂方法创建对象推断构造方法BeanDefionition 的后置处理实例化后属性填充Aware回调初始化前...
    99+
    2024-04-02
  • 浅谈Oracle数据库的对象
    Oracle数据库---对象中最基本的是表和视图,其他还有约束、索引、序列、函数、存储过程、甚至创建同义词。对数据库的操作可以基本归结为对数据对象的操作,因此,在上篇博文讲述了基本操作的基础上,本篇博文将介...
    99+
    2024-04-02
  • ORA-00348: single-process redo failure. Must abort instance ORACLE 报错 故障修复 远程处理
    文档解释 ORA-00348: single-process redo failure. Must abort instance Cause: A failure occurred during a critical portion of ...
    99+
    2023-11-05
    报错 故障 single
  • 浅谈定义一个PHP函数
    目录概述函数参数与它们的数据类型函数与它们的返回值可选参数 VS 可空参数概述 <?php function divide($dividend, $divisor)...
    99+
    2024-04-02
  • 浅谈一下python中threading模块
    目录一、Thread的使用二、threading.activeCount()的使用三、threading.enumerate()的使用。四、threading.setDaemon()...
    99+
    2023-05-18
    python threading threading模块
  • 浅谈一下Nginx性能优化
    目录Nginx 性能优化1、Nginx运行工作进程数量2、Nginx运行CPU亲和力3、Nginx最大打开文件数4、Nginx事件处理模型5、开启高效传输模式6、连接超时时间7、fa...
    99+
    2023-05-15
    Nginx性能 Nginx性能优化
  • 浅谈一下Java线程组ThreadGroup
    目录1 简介2 线程组树的结构3 线程组的构造4 API5 终止线程组中的所有线程1 简介 一个线程集合。是为了更方便地管理线程。父子结构的,一个线程组可以集成其他线程组,同时也可以...
    99+
    2023-05-19
    Java 线程组 Java ThreadGroup
  • 浅谈shell的一些循环格式
    1.while 的格式 x=1 while ((x<=10)) ;do if [ $x == "2" -o $x == "4" ];then #条件x=2或者x=4执行下面语句 x=$[$x+1] ...
    99+
    2022-06-04
    shell 循环格式 shell 循环
  • 浅谈PHP7中的一些小技巧
    目录相同的命名空间,相同的 use常量可以是数组太空船操作符数组的第一 / 最后一个键 (PHP 7.3)数组延展操作符 (PHP 7.4)箭头函数 (PHP 7.4)常量的可见性 ...
    99+
    2024-04-02
  • 浅谈一下Java的线程并发
    谈到并发,必会涉及操作系统中的线程概念,线程是CPU分配的最小单位,windows系统是抢占式的,linux是轮询式的,都需要获取CPU资源。并行:同一时刻,两个线程都在执行。并发:...
    99+
    2024-04-02
  • 浅谈一下forward和redirect的区别
    目录1.forward 和redirectforward又叫转发,表示转发,当请求来到时,可以将请求转发到其他的指定服务,用户端不知晓。redirect又叫重定向,表示转发,当请求发...
    99+
    2023-03-24
    forward redirect forward和redirect的区别
  • 浅谈一下JavaScript与C++的差异
    目录运行环境的差异执行效率的差异编程风格的差异程序能力的差异总结在正式开始向各位前端开发者介绍 C++ 语言之前,我们先讨论一下 C++ 语言与 JavaScript 语言的差异(为...
    99+
    2023-05-14
    JavaScript C++ JavaScript C++的差异
  • 浅谈一下Python中的with用法
    目录一、With语句是什么二、with如何工作三、相关术语一、With语句是什么 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常...
    99+
    2023-05-15
    Python with Python with用法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作