Oracle 等待事件之 db file scattered read

简介:

db file scattered read

官网解释:

This event signifies that the user process is reading buffers into the SGA buffer cache and is waiting for a physical I/Ocall to return. A db file scattered read issues a scattered read to read the data into multiple discontinuous memory locationsA scattered read is usually a multiblock read. It can occur for a fast full scan (of an index) in addition to a full table scan.

The db file scattered read wait event identifies that a full scan is occurring. When performing a full scan into the buffer cache, the blocks read are read into memory locations that are not physically adjacent to each other. Such reads are called scattered read calls, because the blocks are scattered throughout memory. This is why the corresponding wait event is called 'db file scattered read'. multiblock (up to DB_FILE_MULTIBLOCK_READ_COUNT blocks) reads due to full scans into the buffer cache show up as waits for 'db file scattered read'.

Check the following V$SESSION_WAIT parameter columns:

  • P1: The absolute file number

  • P2: The block being read

  • P3: The number of blocks (should be greater than 1)


on a healthy system, physical read waits should be the biggest waits after the idle waits. However, also consider whether there are direct read waits (signifying full table scans with parallel query) or db file scattered read waits on an operational (OLTP) system that should be doing small indexed accesses.


Other things that could indicate excessive I/O load on the system include the following:

  • Poor buffer cache hit ratio

  • These wait events accruing most of the wait time for a user experiencing poor response time

解释:db file scattered read 等待事件:是由于多数据块读操作产生的,当我们检索数据时从磁盘上读取数据到内存中,一次I/0读取多个数据块,而数据块在内存中是分散分布并不是连续的,当数据块读取到内存中的这个过程就会产生“db file scattered read” 事件。

    多个数据块读场景:

       (1) FTS(Full Table Scans) 全表扫描

       (2) IFFS(Index Fast Full Scans) 索引快速全扫描: 把索引链切割成很多份,多块并行读取。




本文转自 wangergui 51CTO博客,原文链接:http://blog.51cto.com/wangergui/1912796,如需转载请自行联系原作者

相关文章
|
SQL 监控 Oracle
Oracle 数据库发生等待事件:enq: TX - row lock contention ,排查思路
Oracle 数据库发生等待事件:enq: TX - row lock contention ,排查思路
Oracle 数据库发生等待事件:enq: TX - row lock contention ,排查思路
|
7月前
|
SQL Oracle 关系型数据库
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
713 0
|
11月前
|
Oracle 前端开发 Java
Oracle优化11-10046事件
Oracle优化11-10046事件
52 0
|
11月前
|
SQL Oracle 关系型数据库
Oracle优化12-10053事件
Oracle优化12-10053事件
57 0
|
11月前
|
Oracle 关系型数据库 数据库
Oracle-等待事件解读
Oracle-等待事件解读
44 0
|
SQL Oracle 关系型数据库
Oracle 等待事件研究:SQL*Net break/reset to client
SQL*Net break/reset to client事件是一个容易被误解的事件,这个事件看起来和网络有关,但实际上大多数情况下这个事件与网络无关。
396 0
Oracle 等待事件研究:SQL*Net break/reset to client
|
SQL 存储 监控
Oracle中的SQL_TRACE是什么?诊断事件是什么?常用的10046及10053诊断事件的区别是什么?
Oracle中的SQL_TRACE是什么?诊断事件是什么?常用的10046及10053诊断事件的区别是什么?
414 0
|
Oracle 关系型数据库 数据库
❤️Oracle TOP5事件解读,性能优化必备技能❤️
❤️Oracle TOP5事件解读,性能优化必备技能❤️
251 0
❤️Oracle TOP5事件解读,性能优化必备技能❤️
|
SQL Oracle 关系型数据库
如何快速批量导入非Oracle DB格式的数据--sqlloader
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法
283 0
如何快速批量导入非Oracle DB格式的数据--sqlloader