GCS is the main controlling process that implements Cache Fusion. GCS tracks the location and the status (mode and role) of the data blocks, as well as the access privileges of various instances. GCS is the mechanism which guarantees the data integrity by employing global access levels. GCS maintains the block modes for data blocks in the global role. It is also responsible for block transfers between the instances. Upon a request from an Instance GCS organizes the block shipping and appropriate lock mode conversions. The Global Cache Service is implemented by various background processes, such as the Global Cache Service Processes (LMSn) and Global Enqueue Service Daemon (LMD).
Global Enqueue Service
The Global Enqueue Service (GES) manages or tracks the status of all the Oracle enqueuing mechanism. This involves all non Cache fusion intra-instance operations. GES performs concurrency control on dictionary cache locks, library cache locks, and the transactions. GES does this operation for resources that are accessed by more than one instance.
GES/GCS Areas
GES and GCS have the memory structures associated with global resources. It is distributed across all instances in a cluster. This area is located in the variable or shared pool section of the SGA. As an example, below list shows the additions.
POOL NAME BYTES
------------ -------------------------- ----------
shared pool gcs shadows 12143272
shared pool gcs resources 17402792
shared pool ges enqueues 4079516
shared pool ges resources 2624824
shared pool ges big msg buffers 3839044
So far all the memory structures and background processes have been surveyed. Now attention will be turned to the physical database structures of the database which includes the data files, redo log files and control files among other type of files.