RE: Trace a session while it accesses the cache buffer chain latches, etc

  • From: Jonathan Lewis <jonathan@xxxxxxxxxxxxxxxxxx>
  • To: "napacunningham@xxxxxxxxx" <napacunningham@xxxxxxxxx>, "oracle-l@freelists org" <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 18 Nov 2015 07:09:39 +0000


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

Other related posts: