RAC instances - cache ?

All posts relating to Oracle database administration.

Moderator: Tim...


RAC instances - cache ?

Postby Guest » Mon Nov 01, 2004 6:09 pm

Hello Tim,

The instance maintains database buffer cache, dict cache etc for better performance of the data/sql statements that are used in the subsequest access

In RAC, where we have multiple instances, how these caches work ?
Like I updated Tab1's data and this query was served by instance A. This is stored in the buffer cache of instance A.

Will this get copied to that of instance B ?

If yes, then how ? The OCFS and raw partition etc all talk about talking to the database, not inter-instance communication

If no, then the subsequest access to Tab1 table, if served by instance B, will fetch the stale data and will defeat the purpose of cache and performance gain etc

Please clarify



RE:RAC instances - cache ?

Postby Guest » Mon Nov 01, 2004 6:09 pm

Read the OTN doc - http://download-west.oracle.com/docs/cd ... .htm#20223

Buffer Cache Management
Oracle stores resources, such as data block information, in a buffer cache that resides in memory. Storing this information locally reduces database operations and disk I/O. Because each instance has its own memory, Real Application Clusters coordinates the buffer caches of multiple nodes while minimizing disk I/O. This optimizes performance and expands the effective memory to be nearly equal to the sum of all memory in your cluster database.

To do this, Real Application Clusters uses the Global Cache Service (GCS) to coordinate operations among the multiple buffer caches and to optimize Oracle's high performance features. The Global Enqueue Service (GES) also assists in synchronization by managing intranode communications. The GCS and GES are described in more detail later in Part II of this book.

Site Admin
Posts: 18437
Joined: Mon Nov 01, 2004 5:56 pm
Location: England, UK

RE:RAC instances - cache ?

Postby Tim... » Mon Nov 01, 2004 6:09 pm


In plain speak, if instance A reads a block, then instance B needs it, the block is passed directly to instance B over the interconnect. In previous versions of OPS the block would be written back to disk by instance A before being read by instance B. This process of premature block writes was known as pinging (not to be confused with network pinging).


Oracle ACE Director
Oracle ACE of the Year 2006 - Oracle Magazine Editors Choice Awards
OakTable Member
OCP DBA 7.3, 8, 8i, 9i, 10g, 11g
OCP Advanced PL/SQL Developer
Oracle Database: SQL Certified Expert
My website: https://oracle-base.com
My blog: https://oracle-base.com/blog

Return to “Oracle Database Administration”

Who is online

Users browsing this forum: No registered users and 2 guests