How Consistent reads work in Exadata ?

  • From: Jurijs Velikanovs <j.velikanovs@xxxxxxxxx>
  • To: oracle-l <Oracle-L@xxxxxxxxxxxxx>
  • Date: Thu, 23 Jul 2009 13:25:28 +1000

Hello List!

During our last meetup meeting in Sydney
(http://www.sydneyoracle.com.au) a discussion on Exadata solution
triggered a question:

How read consistency is ensured during Smart Scan Offload processing?
Does Oracle reconstruct consistent image of a block on Database Cell
or on Storage cell?

Form my understanding it should be done on DB server side as Undo data
might not be available from the storage host (unless some Magic
involved :).
On the other hand Oracle's white papers suggest that storage sells
returns relative rows and columns only. If it true is it possible to
reconstruct a consistent image of the data than?

Note: The Exadata consistency read question might become even more
interesting if to think about "Smart Scan Join Processing".

Alex Gorbachev suggested that Exadata Offload processing might be
similar to the way Direct path reads are processed in a regular Oracle
Database. It seams like a reasonable suggestion.
The Full Scan Offload Processing should look something like the following:
--- Step A. on DB server: Issue "object checkpoint" against the table
we are going to scan
--- Step B. on Storage cell: Reads and filter rows from data blocks
that are consistent with SQL SCN. Send those to DB server.
--- Step C. on Storage cell: All block with SCN higher than SQL SCN
are sent to DB server to make those consistent and filter those there
--- Step D. Reconstruct a consistent version of data blocks returned
in step C and filter those
--- Step E. Return result set to a client session
is it close to the way Exadata smart scan works, what do you think?

I would really appreciate any input from the list members,
Thank you in advance,
Yury
--
//www.freelists.org/webpage/oracle-l


Other related posts: