Can anybody explain my question below?
Difference between data dictionary cache and data buffer cache in Oracle 10 g
Thanks in Advance.
See more about SAP Oracle
The difference between the data dictionary cache and buffer cache is quiet
simple.The buffer cache is a part of SGA (which is an instance) Buffer
cache is almost same what is stored on the RAM. Whenever a new query is
fired the data is to be read from the disk which is very slow and takes
time. But once the data is fetched from the disk it is then brought to the
buffer cache, so that the next time the same query is fired, the data will
not be searched on the disk but the real memory will be accessed which is
faster than reading from the disk. Now that data will be n the buffer cache
until it is of no use. The data on the buffer cache is kept according to
LRU(least recently used). So when the cache is full, the data that has not
been used for a longer period of time will be discarded. The same thing
works for write as well. First the data is written on the buffer cache and
the it is written on the disk. If the data is written on the buffer cache
but is not written on the disk, then the data in the buffer cache is
referred as dirty buffer.
Now if we talk about the Data Dictionary cache, is a read only set of
tables which contains the information about the database. It contains the
definitions of the schema objects i.e. the tables, views etc. It contains
the roles, the constraints, the information about the update of
records(who updated the records or who accessed the records etc). Every
time the DDL statement is issued, the data dictionary is updated. The data
dictionary cache is read to check if the object searched for exists or not
and does the user has access over that object.
The database buffer cache is the portion of the system global area (SGA) that holds copies of data blocks. All client processes concurrently connected to the instance share access to the buffer cache.
A buffer is a main memory address in which the buffer manager temporarily caches a currently or recently used data block. All users concurrently connected to a database instance share access to the buffer cache
But,the data dictionary cache is a memory area in the shared pool that holds data dictionary information. The data dictionary cache is also known as the row cache because it holds data as rows instead of buffers, which hold entire data blocks.
Sign up for STechies