iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle event之db file read怎么用
  • 205
分享到

Oracle event之db file read怎么用

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

这篇文章主要介绍oracle  event之db file read怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!db file sequential read (s

这篇文章主要介绍oracle  event之db file read怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

  • db file sequential read (single block read into one SGA buffer)

  • db file scattered read (multiblock read into many discontinuous SGA buffers)

  • direct read (single or multiblock read into the PGA, bypassing the SGA)

Oracle  event之db file read怎么用

  1. 最为常见的是执行计划中包含了INDEX FULL SCAN/UNIQUE SCAN,此时出现”db file sequential read”等待是预料之中的,一般不需要我们去特别关注

  2.当执行计划包含了INDEX RANGE SCAN-(“TABLE ACCESS BY INDEX ROWID”/”DELETE”/”UPDATE”), 服务进程将按照”访问索引->找到rowid->访问rowid指定的表数据块并执行必要的操作”顺序访问index和table,每次物理 读取都会进入”db file sequential read”等待,且每次读取的都是一个数据块;这种情况下clustering_factor将发挥其作用,需要我们特别去关注,本例中提及的解决方法对 这种情景也有效

 3.Extent boundary,假设一个Extent区间中有33个数据块,而一次”db file scattered read”多块读所读取的块数为8,那么在读取这个区间时经过4次多块读取后,还剩下一个数据块,但是请记住多块读scattered read是不能跨越一个区间的(span an extent),此时就会单块读取并出现”db file sequential read”。这是一种正常现象,一般不需要额外关注

 4.假设某个区间内有8个数据块,它们可以是块a,b,c,d,e,f,g,h,恰好当前系统中除了d块外的其他数据块都已经被缓存在buffer cache中了,而这时候恰好要访问这个区间中的数据,那么此时就会单块读取d这个数据块,并出现”db file sequential read”等待。注意这种情况不仅于表,也可能发生在索引上。这是一种正常现象,一般不需要额外关注

5.chained/migrated rows即链式或迁移行,这里我们不介绍链式行的形成原因,chained/migrated rows会造成服务进程在fetch一行记录时需要额外地单块读取,从而出现”db file sequential read”。这种现象需要我们特别去关注,因为大量的链式/迁移行将导致如FULL SCAN等操作极度恶化(以往的经验是一张本来全表扫描只需要30分钟的表,在出现大量链式行后,全表扫描需要数个小时),同时也会对其他操作造成不那么 明显的性能影响。可以通过监控v$sysstat视图中的”table fetch continued row”操作统计来了解系统中链式/迁移行访问的情况,还可以通过DBA_TBALES视图中的CHAIN_CNT来了解表上的链式/迁移行情况,当然这 要求定期收集表上的统计信息;如果没有定期收集的习惯,那么可以配合@?/rdbms/admin/utlchain脚本和analyze table list chained rows 命令来获取必要的链式行信息

6.创建Index entry,显然当对表上执行INSERT操作插入数据时,虽然在执行计划中你看不到过多的细节,但实际上我们需要利用索引来快速验证表上的某些约束是否 合理,还需要在索引的叶子块中插入相关的记录,此时也可能出现”db file sequential read”等待事件,当然这还和具体的插入的方式有关系。这是一种正常现象,一般不需要额外关注

7.针对表上的UPDATE/DELETE,不同于之前提到的”INDEX RANGE SCAN-UPDATE/DELETE”,如果我们使用rowid去更新或删除数据时,服务进程会先访问rowid指向的表块(注意是先访问table block)上的行数据,之后会根据该行上的具体数据去访问索引叶子块(注意Oracle并不知道这些leaf block在哪里,所以这里同样要如range-scan/unique-scan那样去访问index branch block),这些访问都将会是单块读取,并会出现’db file sequential read’,完成必要的读取后才会执行更新或删除的实际EXEC操作

db file sequential read   当进程需要的信息不在SGA,要等待从磁盘读入SGA中,此时进程等待此事件。一般是由sql或者递归sql中发出,从索引,回滚段,表(rowid回表),控制文件,数据文件头处读取信息触发.要减少这个等待事件,要么减少它的次数,要么减少平均等待时间。通过调优SQL来减少逻辑读,留意效率低的大范围索引扫描回表(可能全表扫更好),可以减低次数。用更高响应时间的存储,分散热点文件,可以减轻平均等待时间。在新的存储子系统,平均单块读等待时间不应超过10ms(千分之一秒)。通过p1与p2参数与dba_extents视图,我们定位到等待访问的段,然后来分散热点。

官档等待事件:perfORMance tuning guide  --- wait events statistics

以上是“Oracle  event之db file read怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle event之db file read怎么用

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle event之db file read怎么用
    这篇文章主要介绍Oracle  event之db file read怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!db file sequential read (s...
    99+
    2024-04-02
  • Webpack loader之file-loader怎么用
    这篇文章主要为大家展示了“Webpack loader之file-loader怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Webpack loader之...
    99+
    2024-04-02
  • Python之Pygame的Event事件模块怎么使用
    Pygame的Event事件模块事件(Event)是 Pygame 的重要模块之一,它是构建整个游戏程序的核心,比如常用的鼠标点击、键盘敲击、游戏窗口移动、调整窗口大小、触发特定的情节、退出游戏等,这些都可以看做是“事件”。 事件类型Pyg...
    99+
    2023-05-18
    Python Pygame event
  • thinkphp5 db类怎么使用
    本篇内容介绍了“thinkphp5 db类怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、连接数据库连接数据库有两种方式,一种是在...
    99+
    2023-07-05
  • mysql中event怎么用
    这篇文章主要为大家展示了“mysql中event怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中event怎么用”这篇文章吧。 —— 查看ev...
    99+
    2024-04-02
  • linux出现The file /boot/grub/stage1 not read cor怎么解决
    这篇文章主要介绍“linux出现The file /boot/grub/stage1 not read cor怎么解决”,在日常操作中,相信很多人在linux出现The file /boot/grub/stage1 not read cor...
    99+
    2023-06-10
  • laravel中DB::raw怎么用
    这篇文章主要介绍了laravel中DB::raw怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇laravel中DB::raw怎么用文章都会有所收获,下面我们一起来看看吧。在laravel中,“DB::ra...
    99+
    2023-06-29
  • jQuery中event事件怎么用
    这篇文章主要为大家展示了“jQuery中event事件怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery中event事件怎么用”这篇文章吧。1.p...
    99+
    2024-04-02
  • css中read-write与:read-only选择器怎么用
    这篇文章将为大家详细讲解有关css中read-write与:read-only选择器怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   :read-write与:...
    99+
    2024-04-02
  • shell read命令怎么用
    本篇内容介绍了“shell read命令怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!shell作为一门语言,自然也具有读数据的功能,...
    99+
    2023-06-27
  • C# Berkeley DB数据库怎么用
    这篇文章主要介绍C# Berkeley DB数据库怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Berkeley DB是历史悠久的嵌入式数据库系统,主要应用在UNIX/LINUX操作系统上。Berkeley D...
    99+
    2023-06-17
  • Linux read命令怎么用
    这篇文章主要介绍“Linux read命令怎么用”,在日常操作中,相信很多人在Linux read命令怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux read命令怎么用”的疑惑有所帮助!接下来...
    99+
    2023-06-28
  • Vue中的event对象怎么用
    本文小编为大家详细介绍“Vue中的event对象怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue中的event对象怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、什么是event对象event...
    99+
    2023-06-29
  • 怎么理解oracle的log file sync与log file parallel write
    这篇文章主要讲解了“怎么理解oracle的log file sync与log file parallel write”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解oracle的log...
    99+
    2023-05-31
  • 怎么使用mysqlbinlog rewrite-db选项
    本篇内容介绍了“怎么使用mysqlbinlog rewrite-db选项”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能...
    99+
    2024-04-02
  • shell的read命令怎么用
    本篇内容介绍了“shell的read命令怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、read基本读取 1 #...
    99+
    2023-06-27
  • 怎么启用SAP C4C OData Event Notification
    本篇内容介绍了“怎么启用SAP C4C OData Event Notification”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!当我们...
    99+
    2023-06-04
  • oracle之intersect怎么使用
    在Oracle中,INTERSECT运算符用于从两个或多个SELECT语句的结果集中获取共同的行。它返回的结果集包含两个查询...
    99+
    2023-08-25
    oracle
  • css3的选择器:read-write和:read-only怎么使用
    今天小编给大家分享一下css3的选择器:read-write和:read-only怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完...
    99+
    2024-04-02
  • oracle dataguard之nologing怎么用
    小编给大家分享一下oracle dataguard之nologing怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!管理部分...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作