Categories
19c database

Resolving common Oracle Wait Events using the Wait Interface

Wait Event: 

DB file sequential reads

Possible Causes:

  • Use of an unselective index
  • Fragmented Indexes
  • High I/O on a particular disk or mount point
  • Bad application design
  • Index reads performance can be affected by  slow I/O subsystem and/or poor database files layout, which results in a higher average
    wait time
Actions:

 

  • Check indexes on the table to ensure that the right index is being used
  • Check the column order of the index with the WHERE clause of the Top SQL statements
  • Rebuild indexes with a high clustering factor
  • Use partitioning to reduce the number of blocks being visited
  • Make sure optimizer statistics are up to date
  • Relocate ‘hot’ datafiles
  • Consider the usage of multiple buffers pools and cache frequently used indexes/tables in the KEEP pool
  • Inspect the execution plans of the SQL statements that access data
    through indexes
  • Is it appropriate for the SQL statements to access data through
    index lookups?
  • Is the application an online transaction processing (OLTP) or decision support system (DSS)?
  • Would full table scans be more efficient?
  • Do the statements use the right driving table?
  • The optimization goal is to minimize both the number of logical and physical I/Os.
Remarks:
  • The Oracle process wants a block that is currently not in the SGA, and it is waiting for the database block to be read into the SGA from the disk.
  • Significant DB file sequential read wait time is most likely an application issue.
  • If the DBA_INDEXES.CLUSTERING_FACTOR of the index approaches the number of blocks in the table, then most of the rows in the table are ordered. This is desirable.
  • However, if the clustering factor approaches the number of rows in the table, it means the rows in the table are randomly ordered and thus it requires more I/Os to complete the operation. You can improve the index’s clustering factor by rebuilding the table so that rows are ordered according to the index key and rebuilding the index thereafter.
  • The OPTIMIZER_INDEX_COST_ADJ and OPTIMIZER_INDEX_CACHING initialization parameters can influence the optimizer to favor the operation of the nested loop and choose an index access path over a full table scan.
  • Tuning I/O-related waits for Note id  223117.1
  • DB file sequential read Reference Note# 34559.1

Thank you for giving your valuable time to read the above information.

If you want to be updated with all our articles send us the Invitation or Follow us:

Ramkumar’s LinkedIn: https://www.linkedin.com/in/ramkumardba/
LinkedIn Group: https://www.linkedin.com/in/ramkumar-m-0061a0204/
Facebook Page: https://www.facebook.com/Oracleagent-344577549964301
Ramkumar’s Twitter: https://twitter.com/ramkuma02877110
Ramkumar’s Telegram: https://t.me/oracleageant
Ramkumar’s Facebook: https://www.facebook.com/ramkumarram8

Leave a comment