The first (user) data access step has to be one of
Root block of index
First block of tablescan or index fast full scan
Prior to that, though, the session would have to get data from the segment
header block for the object.
The location of the initial blocks of the segment are known (from the data
dictionary), and the addresses of the starting data blocks have positions that
are are known relative to the segment header (and other space management)
blocks. Then, as you surmise, the data block address hashes to the id of a
cache buffers chain, and things go on from there.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
@jloracle
________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx [oracle-l-bounce@xxxxxxxxxxxxx] on behalf
of Michael Cunningham [napacunningham@xxxxxxxxx]
Sent: 18 November 2015 03:47
To: oracle-l@freelists org
Subject: Trace a session while it accesses the cache buffer chain latches, etc
Does anyone know of a way to trace a session after the soft parse to see how it
knows where to access blocks on the CBC? I'm starting by assuming the session
has to find out where to start by knowing the Data Block Address, but I can't
figure out where the session gets that information after the session determines
there is a shared cursor it can use.
Any help with me finding the next steps is greatly appreciated.
--
Michael Cunningham