Alex, Let me try to answer in simple way. When you run a query, data dictionary provides the file#,block# or extent info for that table. Once you know the file#,blok# you can compute the dba and search the buffer cache for that dba (yet another simple hash function). If not found send an I/O request on that file#,block#. Is this what you are looking for or something else/? On Fri, Apr 10, 2009 at 3:51 PM, amonte <ax.mount@xxxxxxxxx> wrote: > Hi all > > I have a probably very basic question but I cant think how Oracle does it. > > When we query a table we know that data block address is hashed to > read if buffer chain if reading from cache, otherwise look the rows in > the data block address. > > My question is when we run a query how is the data block address > obtained? From where? > > Alex > -- > //www.freelists.org/webpage/oracle-l > > > -- //www.freelists.org/webpage/oracle-l