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

Home -> Community -> Usenet -> c.d.o.server -> data block cache algorithm and cache hit or not

data block cache algorithm and cache hit or not

From: mako <makoml_at_jcom.hone.ne.jp>
Date: Wed, 26 Sep 2001 17:58:33 GMT
Message-ID: <dHos7.1808$kn.215839@news1.rdc1.ky.home.ne.jp>


Hello experts,

Please help me understand about Oracle data block cache algorithm.

As long as I know and get, following actions are done by Oracle.

Case1 : Insert/Update/Delete Operation

  1. insert,update,delete command by user
  2. a foreground process reads data blocks from datafile and store them in database buffer cache on SGA.
  3. a foreground process changes these data blocks.
  4. a foreground process writes these changes in redo buffer as redo entry.
  5. if commited, LGWR process reads redo entries from redo buffer and write them on redo log file.
  6. if above procedures are succeeded, return "Commited" message to user.

So, If I requested just same data, We can expect CACHE HIT because they are already stored in cache (if not purged).

Case2 : Select Operation

  1. select command by user
  2. a foreground process reads data blocks from datafile and "STORE(?)" them in database buffer cache on SGA.
  3. if above procedures are succeeded, return results to user.
  4. AND, if users requested just same data, forground process will get them from database buffer cache (?) and NO DISK I/Os (?).

I'm not sure about because I don't know foreground process will store data blocks in database buffer cache or not. If NOT, I cannot expect cache hit and Disk I/O will happen every time.

Please let me know cache algorithm when select statement was given, and can i expect cache hit or not?

Sorry for my poor english.

Regards.

Mako Received on Wed Sep 26 2001 - 12:58:33 CDT

Original text of this message

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