Oracle 等待事件之 db file sequential read
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 等待事件之 db file sequential read相关的知识,希望对你有一定的参考价值。
db file sequential read:
官网解释:
This event signifies that the user process is reading a buffer into the SGA buffer cache and is waiting for a physical I/O call to return. A sequential read is a single-block read.
Single block I/Os are usually the result of using indexes. Rarely,
full table scan calls could get truncated to a single block call because
of extent boundaries, or buffers present in the buffer cache. These
waits would also show up as db file sequential read
.
Check the following V$SESSION_WAIT
parameter columns:
P1
: The absolute file numberP2
: The block being readP3
: The number of blocks (should be 1)
On a healthy system, physical read waits should be the biggest waits
after the idle waits. However, also consider whether there are db
file
sequential
reads
on a large data warehouse that should be seeing mostly full table scans with parallel query.
Figure 10-1 depicts the differences between the following wait events:
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)
Figure 10-1 Scattered Read, Sequential Read, and Direct Path Read
解释:
db sequential read 此事件表示用户进程正在将缓冲区读入SGA缓冲区高速缓存并正在等待物理I / O调用返回。 顺序读取是单块读取。
单块I / O通常是使用索引的结果。
全表扫描调用可能会因缓冲区高速缓存存在的范围边界或缓冲区而被截断的单块调用。 这些等待也将显示为db file sequential read。
db file sequential read的优化方法:
从读取开始,增加SGA中buffer cache的大小,避免每次都从硬盘中去读数;
优化sql语句,减少不必要的块读取;
本文出自 “Linux Oracle MariaDB” 博客,请务必保留此出处http://wangergui.blog.51cto.com/8504247/1912801
以上是关于Oracle 等待事件之 db file sequential read的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 等待事件之 db file parallel read
Oracle等待事件之db file scattered read
Oracle db file parallel write 和 log file parallel write 等待事件
oracle启用异步IO(db file async I/O submit)