Você está na página 1de 2

Oracle Wait Event db file scattered read

There are 2 main I/O related wait events in Oracle: db file scattered read and db file sequential read. In this post we will understand the db file scattered read wait event (to read about db file sequential read go to the db file sequential read post). A server process is waiting on db file scattered read wait event after it performs a multiblock I/O operation and it is waiting for the operating system to complete it. A multiblock I/O operation occurs when the server process asks for a chunk of blocks and not for a single block. The amount of blocks in the chunk is determined by the DB_FILE_MULTIBLOCK_READ_COUNT initialization parameter. For example, if the database block size is 8k and DB_FILE_MULTIBLOCK_READ_COUNT is 8, a single multiblock I/O operation will read 8 blocks, which is 64KB of data. The maximum size of a multiblock I/O operation is determined by the operating system and storage. When talking about performance, there are several things we need to remember:

A server process can perform multiblock I/O operations only in certain cases like full table scans and fast full index scans. It is important to remember that multiblock I/O and DB_FILE_MULTIBLOCK_READ_COUNT are irrelevant to other operations such as index range/unique scans. Setting the DB_FILE_MULTIBLOCK_READ_COUNT to a high value will result in less I/O operations (as long as it is not exceeding the operating system and storage limitation). Setting the DB_FILE_MULTIBLOCK_READ_COUNT to a high value can also result in unwanted full table scans, since a higher value lowers the optimizer cost of full table scans. Starting in 10gR2, Oracle will determine the best value for the DB_FILE_MULTIBLOCK_READ_COUNT parameter if it is not set. If the parameter is set, Oracle will not automatically set its value.

Oracle Wait Event db file sequential read


There are 2 main I/O related wait events in Oracle: db file scattered read and db file sequential read. In this post we will understand the db file sequential read wait event (to read about db file scattered read go to the db file scattered read post) A server process is waiting on db file sequential read wait event after it performs a single block I/O operation and it is waiting for the operating system to complete it. A single block I/O operation occurs when a server process request a single block for the operating system. This happens during operations such as index unique or range scans, table access by rowid, etc. Seeing this wait event in the top wait events is expected and doesnt mean that something is wrong. Remember, users are working and reading indexes or table blocks from the disk is common. However, if we see that this event is very high and consuming unreasonable time, we need to check our SQL statement, they might need tuning, or might have unnecessary hints such as the index hint.

Você também pode gostar