Global Cache Resources(GCS) and Global Enqueue Services(GES)
The key role is played by GCS and GES (which are basically RAC processes). GCS ensures a single system image of the data even though the data is accessed by multiple instances. The GCS and GES are integrated components of RAC that coordinate simultaneous access to the shared database and to shared resources within the database and database cache. GES and GCS together maintain a Global Resource Directory(GRD) to record information about resources and enqueues. GRD remains in memory and is stored on all the instances. Each instance manages a portion of the directory. This distributed nature is a key point for fault tolerance of the RAC.
Coordination of concurrent tasks within a shared cache server is called synchronization. Synchronization uses the private interconnect and heavy message transfers. The following types of resources require synchronization: data blocks and enqueues. GCS maintains the modes for blocks in the global role and is responsible for block transfers between the instances. LMS processes handle the GCS messages and do the bulk of the GCS processing.
An enqueue is a shared memory structure that serializes access to database resources. It can be local or global. Oracle uses enqueues in three modes 1) NULL(N) mode,2) share(S) mode,and 3) Exclusive(X) mode. Blocks are the primary structures for reading and writing into and out of buffers. It is often the most requested resource.
GES maintains or handles the synchronization of the dictionary cache, library cache, transaction locks, and DDL locks . In other words, GES manages enqueues other than data blocks. To synchronize access to the data dictionary cache. Latches are used in exclusive mode and in single-node cluster databases. Global enqueues are used in cluster database mode.
来自 “ ITPUB博客 ” ，链接：http://blog.itpub.net/104152/viewspace-167471/，如需转载，请注明出处，否则将追究法律责任。