How is it different on a RAC?
Let’s quickly see how a buffer cache works in the RAC environment. In a typical single node Oracle database there is only one instance and it has only one set of memory segments. Moreover, all OS related operations such as I/O, SQL statements and cache operations are routed via that single set of memory structures. So, as you can see, on a simpler, small scale application it works fine but the whole ball game changes when we move onto clustering the database. Then suddenly you have multiple instances that share a single database. These instances are running on separate hardware, with its own OS. They have their own separate memory structures and the buffer cache has to be split across the nodes. A requesting node may find the requested block resides on an entirely different node than itself! Processes, local to the machine (the remote node), need to access these buffer caches (which together make up the Global Buffer Cache), for reading. The remote nodes LMS (Lock Manager Service) proc