In a single instance, a process must modify the data block in the current version (Currentcopy) of the block. The RAC environment is the same
This involves a series of problems:
How do I get the distribution of data block versions between cluster nodes?
How do I know which node has the current version?
How do I complete the delivery process?
The solution to this series of problems relies on memory fusion technology (Cachefusion)
Cachefusion through the high-speed privateinterconnect, the data block passes between the instances
This is the core of the RAC work mechanism, he put all the instances of the SGA virtual into a large SGA area
Each time a different instance requests the same block of data, the data block needs to be passed between instances
In Oracle7 OPS, this transfer is done via disk, also known as "disk-basedping"
That is, the 1th instance must first write the block back to disk, and then the 2nd instance reads the block from disk.
This relies on disk to complete data transfer and greatly affect system performance
Introducing "net-basedping" in Oracle8i to pass a block of data via Privateinterconnect
But 8i can only pass data blocks that have not been modified, and for "dirty chunks" to be passed by disk, as with Ops
In Oracle9i cachefusion, all blocks of data, either modified or unmodified, can be passed through the Privateinterconnect
The system can be greatly improved
In Cachefusion, each chunk of data is mapped to a cachefusion resource, or a PCM resource
The PCM resource is actually a data structure, and the name of the resource is the DBA (the Data block address)
each process's request for data is step-by-step:
① converts a DBA to a PCM resource name
② submit this PCM resource request to DLM (Distributed lock Manager)
③DLM GlobalLock application, release activities, only the process has been pcmlock to continue the next step
That is, the first instance is to obtain the right to use the data block
the entire cachefusion has two service components: GCs and Ges The ⑴gcs service is responsible for the transfer of data blocks between instances
Completed by background process Lmsn
⑵ges Service is responsible for lock management
Coordinate access order of data blocks between multiple instances to ensure consistent access to data
Completed by background process LMD
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.