Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.tools -> Re: The Cache option
In article <9a7hn8$1ufg$1_at_newssvr05-en0.news.prodigy.com>, Beldar
<beldar_from_remulac_at_yahoo.com> writes:
>The Cache option of the Create Table and Alter Table commands ensures that
>the first time a table is accessed, the entire table is loaded into the SGA
>and marked as 'most recently used'. According to Oracle doc, this data is
>still subject to LRU algorithms, yet stays in the SGA longer than normal.
>HOW? Isn't every block marked 'most recently used' when it's first
>accessed?
>
>
Prior to version 8.1 when Oracle read blocks into the shared pool all index
blocks and table blocks read via a random read were place on the most
recently used end of the LRU chain, but table blocks read by full table scan
were placed on the not recently used end of the chain. Oracle assumed that
table blocks read by full table scan were not going to be needed again so
they could be almost instantly overlaid by other read requests. The cache
parameter causes blocks read by a table scan to be treated like index and
table bocks read by randon reads.
One of the upgrade documents for version 8.1 states that Oracle has made a change to the way it handles the buffer pool LRU but I am not sure of the details.