Does Oracle keep a history of which blocks are/were loaded into the buffer cache?

  • From: Charles Schultz <sacrophyte@xxxxxxxxx>
  • To: ORACLE-L <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 14 Dec 2010 16:47:13 -0600

Good day,

I am trying to analyze a given table in an effort to determine how often the
older records are used compared to the newer records. I know I can go
against the AWR and determine the age of some statements by searching for a
date column in the table and grabbing the associated bind variable, but this
obviously misses any queries that limit data via a join (ie, no bind
variable). Is there a way to determine when a particular range of datafile
blocks have been last loaded from disk, or how often? I did some digging in
x$bh but that has no history (that I know of). In the meantime, I'll start
up a LogMiner session and scrape all interested ROWIDs, but this is not a
pretty solution. Maybe the only solution?

-- 
Charles Schultz

Other related posts: