Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: How does Oracle Server Process get data block Information

Re: How does Oracle Server Process get data block Information

From: Roger Snowden <snowden_at_NOT.com>
Date: 1998/12/06
Message-ID: <366ADAE0.887D5E14@NOT.com>#1/1

Each database block has a unique identifier called a data block address, or dba. It is a computed value, from file, relative block, etc. When a block is requested, its dba value is hashed to another number and that represents a location in a hash bucket chain. From that location is a list of blocks associated with that value.

A database block will always belong to a particular hash bucket for a given instance with a give number of hash buckets. Then the process looks for the block on that hash bucket's chain. If the block is not found it is read from disk and loaded. Using the lru algorithm, some other block is flushed out of the buffer.

Incidentally, it is the user's server process (sometimes called "shadow" or "two-task", except with MTS) that does this work.

Hope this helps.

Roger Snowden
Senior Systems Engineering Specialist
Oracle Corporation
NOTrsnowden_at_NOTus.oracle.com <-- to reply, remove the obvious

Jochen Joerg wrote:
>
> hello,
>
> I have the following question:
>
> When the Oracle server wants to retrieve the data he first looks up in
> the DB-block buffer of the SGA if the corresponding database blocks are
> loaded.
> If not the Oracle Server Process has to load the corresponding database
> blocks in the DB block buffer.
>
> Here my question occurs:
>
> From where does the oracle server process get the information what
> databse blocks do contain the data which is requested for ?
>
> Where is the information stored about what datafiles contains which
> database blocks?
> I suppose that the information is stored in the data dictionary. But
> also for accessing the data dictionary the server has to get the
> information what database blocks to access and where these database
> blocks are located.
>
> Maybe somebody does know an answer. Thanks in advance.
> Jochen
Received on Sun Dec 06 1998 - 00:00:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US