Principle analysis of RAC cache fusion mechanism _oracle

Source: Internet
Author: User
Tags dba
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

Contact Us

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.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.