In Oracle RAC , Each and every data block is mastered by an Instance. That Instance is called Resource Master for that data block. Master Instance keeps track of the status of the data block like which instance is holding instance for this block , in which state it is being held etc.This Information is stored in GRD of the instance. In simple words, any node which is master of particular object or a block ,maintains the GRD portion for those blocks in its SGA.
To know more about How GRD works in Oracle RAC
There are two terms that confuses us are Dynamic Reconfiguration and Dynamic Remastering.
Let us understand each in brief.
Dynamic Reconfiguration :
When one node departs the cluster , GRD portion of that instance needs to be redistributed among surviving nodes in the cluster.And when new instance enters in a cluster similar way GRD portion of existing nodes must be redistributed to create the GRD portion of the new instance.
In Simple terms , here remastering was forced due to instance crash but not due to demand for resources
Instead of remastering all resources across all nodes, RAC uses an algorithm called lazy remastering to remaster only a minimal number of resources during reconfiguration.
Now what is called dynamic remastering.
As I have mentioned above , each data block is mastered by one of the instance of the cluster.
but , it is possible that object mastered by Instance A can be frequently requested from Instance B.
Mastering of block is decided based on the demand for a block, so basically when demand for particular object or block is high on one node, that instance will become master for that object or block.
And Dynamic Remastering of resource comes into picture here.
So,the basic idea is to master a buffer cache resource on the instance where it is mostly accessed. In order to determine whether dynamic remastering is necessary, the GCS keeps track of the number of GCS requests on a per-instance and per-object basis.
For example :
Instance A is a resource master of all blocks of table1 , as there were huge number of request to access that table is made by Instance A.
After sometime , Instance B started doing request to access table1 frequently.So demand to access table1 gets high on Instance B than Instance A ,In this case Instance A has to either ship the blocks to instance B or forward the request to other instance which is holding most current copy of the requested blocks.
Oracle RAC avoids such type of unnecessary interactions in Interconnect , GCS remasters the block of table1 to Instance B.
Stay tuned for More articles on Oracle RAC
Thank you for giving your valuable time to read the above information.
If you want to be updated with all our articles send us the Invitation or Follow us:
Telegram Channel : https://t.me/helporacle
Skant Gupta’s LinkedIn: www.linkedin.com/in/skantali/
Joel Perez’s LinkedIn: Joel Perez’s Profile
LinkedIn Group: Oracle Cloud DBAAS
Facebook Page: OracleHelp