Database Reference
In-Depth Information
the resource. Initially, each resource is assigned to its master instance using a hashing algorithm. The master instance
can be changed when the cluster is reconfigured when adding or removing an instance from the cluster. This process
is referred as the “reconfiguration.”
In addition to reconfiguration, the resource can be remastered through Dynamic Resource Mastering (DRM).
DRM can be triggered by resource affinity or an instance crash. Resource affinity links the instance and resources
based on the usage pattern of the resource on the instance. If a resource is accessed more frequently from another
instance, the resource can be remastered on another instance. The master instance is a critical component of
global cache coherency. In the event of failure of one or more instances, the remaining instances will reconstruct
the GRD. This ensures that the global GRD is kept as long as one instance of the RAC database is still available.
The GCS is one of the services of RAC that implement Oracle RAC cache fusion. In the Oracle RAC environment,
a data block in an instance may be requested and shared by another instance. The GCS is responsible for the
management of this data block sharing between RAC instances. It coordinates access to the database block by RAC
instances, using the status information of the data blocks recorded in the entry of the GRD. The GCS is responsible for
data block transfers between RAC instances.
The GES manages the global enqueue resources much as the GCS manages the data block resource. The
enqueue resources managed by GES include library cache locks, dictionary cache locks, transaction locks, table
locks, etc.
Figure 1-4 shows a case in which an instance requests a data block transfer from another instance.
1. Request a
data block
Instance 1
Requesting
Instance
Instance 2
Resource
Master
4. Update GRD
2. Request a shared
block transfer
3. Transfer the
data block
Instance 3
Holding
Instance
Figure 1-4. Obtaining a data block from another instance
Instance 1 needs access to a data block. It first identifies the resource master instance of the block, which is
instance 2, and sends a request to instance 2 through GCS.
From the entry of the GRD for the block in resource master instance 2, the GCS gets the lock status of the data
block and identifies that the holding instance is instance 3, which holds the latest copy of the data block; then GCS
requests instance 3, the shared resource of the data block, and the block transfer to instance 1.
Instance 3 transfers the copy of the block to instance 1 via the private interconnects.
After receiving the copy of the block, instance 1 sends a message to the GCS about receiving the block, and the
GCS records the block transfer information in GRD.
 
Search WWH ::




Custom Search