Subscribe to Posts by Email

Subscriber Count

    699

Disclaimer

All information is offered in good faith and in the hope that it may be of use for educational purpose and for Database community purpose, but is not guaranteed to be correct, up to date or suitable for any particular purpose. db.geeksinsight.com accepts no liability in respect of this information or its use. This site is independent of and does not represent Oracle Corporation in any way. Oracle does not officially sponsor, approve, or endorse this site or its content and if notify any such I am happy to remove. Product and company names mentioned in this website may be the trademarks of their respective owners and published here for informational purpose only. This is my personal blog. The views expressed on these pages are mine and learnt from other blogs and bloggers and to enhance and support the DBA community and this web blog does not represent the thoughts, intentions, plans or strategies of my current employer nor the Oracle and its affiliates or any other companies. And this website does not offer or take profit for providing these content and this is purely non-profit and for educational purpose only. If you see any issues with Content and copy write issues, I am happy to remove if you notify me. Contact Geek DBA Team, via geeksinsights@gmail.com

Pages

Performance Troubleshooting : DB File Sequential Read When performing Full Table Scan

Hello All,

What wait event you observe when Oracle Performs a full table scan?

  • DB File Scattered Read
  • Direct Path Reads (from 11g onwards under certain conditions)

What wait event you observe when Oracle Performs a table via index scan?

  • DB File Sequential Read

While we are working a issue, we apparently found an issue that a full tablescan of 17gb table performing a db file sequential read. 

This post is not how to resolve the issue (that's need a separate post), but to  know what is the reason that Oracle performs the db file sequential read when doing a full tablescan. The following are best possible cases.

Case Reason Description

Case 1

Chained Rows

chained rows

 

Case 2

Table Size just large above mbrc

For example, if mbrc is 8 and table has 10 blocks, then oracle do one db file scattered read and 2 sequential reads.

Case 3

Columns  more than 255

Oracle fits the rows into different blocks of those columns beyond 255. So there is a chaining of rows , so when scan happens it has to fetch from different blocks, so indeed a sequential scan with in a multiblock scan, to know this, check v$sesstat for statistics "table fetch continued row"

Case 4

IOT Table

When having IOT table it can appear db file sequential read

Case 5

MView Table

When having Mview the mview with index may show db file sequential read

Case 6

Extent & Block Mapping

This occurs when Oracle is unable to read DBFMBRC worth of blocks

from a given extent. This usually happens towards the edge of the

high-water-mark of the table, but in theory can happen in any extent of the

table. 

Case 7

Cached Blocks

When certain blocks are already in cache from a table oracle will not read them from disk again, in those cases it do partial scans of mbrc value like

block 9813, 9814 and 9815 - scattered read (MBR) with MBRC=3
block 9816 - cache read
block 9817 and 9818 - scattered Oracle read with MBRC=2
block 9819 - cache read
block 9820 - sequential Oracle read
block 9821 - cache read
block 9822 - sequential Oracle read
In this case you got 2 MBR + 2 SBR + 3 cache reads instead of 1 MBR with MBRC=10 (or 16).

Seems the marked red was the ones we have encountered as the table has 299 columns and the extents allocation shows more varying sizes (not rounded to block sizes of mbrc) 

(The last two cases found in internet from Gaza Vaidyanth and Other's)

Hope this helps

-Thanks

Geek

3 comments to Performance Troubleshooting : DB File Sequential Read When performing Full Table Scan

  • Venkat

    Hi,

    What is mean by mbrc. Would like to know how can be we resolve the waits with dbfsqread abd dbfsqread.

    Thanks.

    • Geek DBA

      MBRC is multi block read count,

      To resolve first you need to identify what might causing it, chaining is one of the major cause and you do the reorg of the table.

      BTW, resolution is needed only when you think it is causing issue. For my case it has the issue and we reorg the table that solved my problem.

  • Vaibhav

    Good information