Get the App
SLTechnology News&Howtos  ›  Database  › 

Db file scattered read of Oracle waiting for event

Shulou Source: shulou.com Published: 2022-06-01 08:51:05 09月15日 Update

Db file scattered read

The official website explains:

This event signifies that the user process is reading buffers into the SGA buffer cache and is waiting for a physical I/O call to return. A db file scattered read issues a scattered read to read the data into multiple discontinuous memory locations. A 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

Explanation: db file scattered read wait event: it is caused by multi-data block read operation. When we retrieve data from disk to memory, we read more than one data block at a time, while the data blocks are distributed in memory and are not continuous. When the data blocks are read into memory, this process will generate "db file scattered read" event.

Multiple block read scenarios:

(1) FTS (Full Table Scans) full table scan

(2) IFFS (Index Fast Full Scans) index fast full scan: the index chain is cut into many pieces and multiple blocks are read in parallel.

Tags: Data memory event multiple Index interpretation scenario disk procedure Retrieval Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Information vpn Linux macOS Redmi