oracle数据库dba_hist等视图中的Delta相关字段介绍

    从10g开始,我们采用awr报告来分析数据库的性能,我们发现增加了很多dba_hist相关的视图,其中基于时间相关的字段delta开始出现,对于我们计算语句的时间消耗很有帮助!
其实Delta 表示第四个希腊字母,大写为Δ,小写为δ,其在数学和科学,表示变量的变化
在Oracle中的Delta number其实是指在采样间隔内,指标的增加值,也就是2个采样间的差值

有Delta相关字段的表为dba_hist_active_sess_history、DBA_HIST_SEG_STAT、DBA_HIST_SQLSTAT
Delta可以省略以前只能用分析函数来计算两个快照间差值办法,可以直接查询
如果部分快照没有捕获对象统计信息,那么用分析函数也无法得到该期间的数值,但是如果有delta字段,可以直接查询

SQL> SELECT * FROM (
  2  SELECT SNAP_ID,
  3         LOGICAL_READS_TOTAL,
  4         LOGICAL_READS_TOTAL -
  5         (LAG(LOGICAL_READS_TOTAL) OVER(ORDER BY SNAP_ID)) LOGICAL_READS,
  6         LOGICAL_READS_DELTA
  7    FROM DBA_HIST_SEG_STAT
  8   WHERE OBJ# = 3278293
  9     AND INSTANCE_NUMBER=1
 10   ORDER BY 1)
 11   WHERE ROWNUM

   SNAP_ID LOGICAL_READS_TOTAL LOGICAL_READS LOGICAL_READS_DELTA
---------- ------------------- ------------- -------------------
     12315            43227600                             45168
     12316            43275936         48336               48336
     12321            43415056        139120               29056
     12323            43532160        117104               69536
     12325            43710256        178096              103760
     12326            43771904         61648               61648
     12327            43815680         43776               43776
     12328            43871648         55968               55968
     12332            44220256        348608               90016
     12333            44296544         76288               76288

在11g中,又为ASH增加了delta字段(V$ACTIVE_SESSION_HISTORY & DBA_HIST_ACTIVE_SESS_HISTORY)
有2组:
1.时间模型统计
  TM_DELTA_TIME         一次统计间隔
  TM_DELTA_CPU_TIME     在这个间隔内,CPU时间
  TM_DELTA_DB_TIME      在这个间隔内,DB时间
 
  因为ASH采样的粒度是1秒,但是进程并不是在1s内都ACTIVE的。该统计的粒度是微秒(百万分之一秒)
  TM_DELTA_TIME - TM_DELTA_DB_TIME = INACTIVE TIME
  TM_DELTA_DB_TIME - TM_DELTA_CPU_TIME = WAIT TIME

2.IO&网络统计
  DELTA_TIME                         
  DELTA_READ_IO_REQUESTS             
  DELTA_WRITE_IO_REQUESTS            
  DELTA_READ_IO_BYTES                
  DELTA_WRITE_IO_BYTES               
  DELTA_INTERCONNECT_IO_BYTES        
  统计时间内,物理读/写/心跳流量高的SQL

        SELECT SQL_ID,
               SUM(DELTA_READ_IO_REQUESTS),
               SUM(DELTA_WRITE_IO_REQUESTS),
               SUM(DELTA_READ_IO_BYTES),
               SUM(DELTA_WRITE_IO_BYTES),
               SUM(DELTA_INTERCONNECT_IO_BYTES)
          FROM V$ACTIVE_SESSION_HISTORY
         GROUP BY SQL_ID
         ORDER BY 2 DESC

时间: 2025-01-24 09:03:02

oracle数据库dba_hist等视图中的Delta相关字段介绍的相关文章

表空间 数据文件-oracle数据库表空间中的数据文件自动扩展到32G后不再自动扩展

问题描述 oracle数据库表空间中的数据文件自动扩展到32G后不再自动扩展 CSDN移动问答oracle表空间中的数据文件自动扩展到32G后不再自动扩展,报ora-01653错误,我之后手动加了个数据文件,但是不久之后这个数据文件自动扩展到了32G又报错,请问这是什么原因,难道以后只能手动添加数据文件么????

oracle 数据库...-oracle 数据库插入一条数据,某字段如何自动递增1

问题描述 oracle 数据库插入一条数据,某字段如何自动递增1 oracle 数据库插入一条数据,某字段如何自动递增1,oracle 数据库插入一条数据,某字段如何自动递增1,在线等.急急急.求大指点 解决方案 1,使用序列 2,手动使用变量++然后执行插入数据库记录 解决方案二: oracle 字段递增 表插入数据,id自动增1 解决方案三: Oracle里有序列,使用序列来实现 解决方案四: 序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. l 自动提供唯一的数值 l 共享对

oracle修改一个表中的主键字段值,与其外键关联的另一个表中的相应字段值也改变

问题描述 oracle修改一个表中的主键字段值,与其外键关联的另一个表中的相应字段值也改变 oracle 中修改一个表中的主键字段值,与其外键关联的另一个表中的相应字段值也改变? 有如下两张表,表a和表b 表a 结构如下: ID Name age 1 lisi 18 2 wangwu 21 3 sunliu 34 4 yiliu 24 ... ... ... 其中ID字段为表a主键且自增 表b结构如下: CID CNAME ID 1 aaaaa 1 2 bbbbb 2 3 cccccc 4 4

Oracle数据库在配置文件中更改最大连接数

在连接Oracle数据库的时候经常出现:监听程序无法为请求的服务类型找到可用的处理程序的错误,解决办法如下: 找到Oracle安装后生成的目录D:oracleproduct10.2.0db_1dbs下的SPFILEORCL.ORA文件(数据库名称为ORCL如果为其他的数据库则需要找到对应的包含数据库名称的ORA文件) 之后修改连接数,如下图:

操作Oracle数据库实现上传图片到Blob类型的字段出现的问题

oracle|上传|上传图片|数据|数据库|问题 通过使用OleDb操作Oracle数据库,成功实现图片上传到Blob类型的字段,但有时会发生ORA-01036错误的问题,经查询是错误提示为illegal variable name/number,不知道有谁能详细解释illegal variable name/number的意思 Oracle Data Provider for .NETHiI am using ODP.NET (Oracle Data Provider for .NET) in

将mysql数据库表中的部分数据导入到oracle数据库中

问题描述 将mysql数据库表中的部分数据导入到oracle数据库中 有一个问题:需要将Mysql数据库表中的某些数据导入oracle数据库的表中,需要通过传递文件来实现.比如将mysql数据生成.sql文件,然后执行该文件就可以写入到oracle数据库中.希望各位高手给个思路,谢谢 解决方案 可以用sql命令把数据导出到文件,e然后再把文件导入数据库 解决方案二: 你自己思路不是已经很清晰了吗? or你的意思是需要定时自动导入? 自动导入的话 估计需要借助写个程序实现了 解决方案三: 你自己思

《Oracle数据库性能优化方法论和最佳实践》——1.5 测量和变化

1.5 测量和变化 1.5.1 测量和性能 没有测量就没有性能,任何科学都建立在可测量的基础之上.Oracle数据库和基于它的性能优化理所当然是一门科学,而不是一门艺术.科学的性能优化首先必须是可以建立测量的目标系统性能指标.一个无法测量的系统或者一个只能依赖于人的眼睛.耳朵等器官来进行感知的系统是无法进行性能优化的.为了完成性能优化,需要做大量的可测量性工作.幸运的是,Oracle对于可测量的性能付出了巨大的努力,使其性能相关的测量指标远远超出了其他数据库. 从性能优化的角度出发,可以从以下几

Oracle数据库12c release 2优化器详解

序言:优化器是Oracle数据库最引人入胜的部件之一,因为它对每一个SQL语句的处理都必不可少.优化器为每个SQL语句确定最有效的执行计划,这是基于给定的查询的结构,可用的关于底层对象的统计信息,以及所有与优化器和执行相关的特性. 本文来自Oracle 白皮书翻译(译者:苏旭辉 newkid),介绍了在Oracle数据库12c第二版中与优化器和统计信息相关的所有新特性并且提供了简单的,可再现的例子,使得你能够更容易地熟悉它们,尤其是当你从早先的版本进行迁移的时候.它还概括了已有的功能是如何被增强

Oracle数据库调试和优化详解

此文主要是关于Oracle数据库调试和优化方面的相关内容的介绍,还有涉及到Oracle数据库中命里率的相关问题的解答,其中包括不同的算法之间性能的比对.以下就是相关内容的介绍. 关于Oracle中各个命中率的计算以及相关的调优 1)Library Cache的命中率: 计算公式: 1. Library Cache Hit Ratio = sum(pinhits) / sum(pins) 2. SQL>SELECT SUM(pinhits)/sum(pins) FROM V$LIBRARYCACH