Oracle 11G Direct Path read it's beautiful and it hurts.

Source: Internet
Author: User

Direct Path Read

In 11g, a full table scan may use the direct path read method, bypassing buffer cache, so that the full table scan is physical read.

In 10g, all are read by GC buffer, so there is no problem with direct path read.

The possible reasons for higher direct path read are:

1. A large number of disk sequencing operations, order by, Group by, Union, DISTINCT, rollup, cannot be sorted in the PGA and need to be sorted using the temp table space. Direct path read is generated when the sort results are read from the temporary table space.

2. A large number of hash join operations, using the temp table space to save the hash area.

3. Parallel processing of SQL statements

4. Large table full table scan, in, the whole table scanning algorithm has the new change, according to the table size, the cache size and so on information, decides whether bypasses the SGA directly from the disk reads oracle11g to fetch the data. 10g, however, reads all data through the cache, called Table scan (Large). 11G considers the full table of large tables to be read using direct paths, which may be more readable than data files in 10g (db file scattered reads) faster and use less latch.

A large number of direct path read wait times are most likely an application issue. The direct path read event is driven by SQL statements that perform direct read operations from a temporary or regular table space. When the input content is larger than the work area in the PGA, the SQL statement with the function that needs to be sorted writes the result to the staging table space, and the sort order string in the temporary tablespace is subsequently merged to provide the final result. When the sorting result is read, the Oracle session waits on the direct path read wait event. Db_file_direct_io_count initialization parameters may affect the performance of DIRECT path read.

An implied parameter:

_serial_direct_read = False Disables direct path read

_serial_direct_read = True Enable Direct path read

Alter Sytem set "_serial_direct_read" =never scope=both sid= ' * '; Can significantly reduce the direct path read


It looks beautiful. When it comes to another wait event, it is to brush the dirty data in the cache back into the data file. The check point event is fired, and DBWR writes a very frequent task.

A large number of read IO results in slow io, and slow IO makes the DBWR write slower, while the check point event blocks DML. It is a very serious accident in the area of OLTP.

Because the application has a large number of statements with full table queries.

Oracle 11G Direct Path read it's beautiful and it hurts.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.