Saturday, October 6, 2012

RAC Architecture




Non RAC Specific
Parameters
RAC Specific
Parameters
MMON
LMSN – Global cache service process
SMON
LMON – Global Enqueue Server Monitor
PMON
LMD – Global Enqueue service Daemon
CKPT
LCK – Lock Process
LGWR
DIAG - Diagnostic
DBWR

RECO

ARCH

MMAN

MMNL


Private Interconnect: It is a high bandwidth & low latency communication setup used for transferring cluster specific heartbeat messages.
In RAC environment, cluster Interconnect can also be used for some high level operations like:
1.       Used for indentifying the health, status and message synchronization between all the nodes of the cluster.
2.       Used for maintaining the global resource lock request within the cluster.
3.       Heavily used for transferring the oracle data blocks from one instance buffer cache to other instance buffer cache.
4.       The more the inter instance update will increase more traffic on the network, that’s why is it recommended to have high bandwidth for the cluster interconnect and that could be vendor specific

Global Resource Directory- GRD:
1.       It is new memory component and is a part of shared pool and we can find only in RAC specific instances.
2.       Oracle automatically maintains GRD consistency among all the nodes of the cluster
3.       GRD maintains metadata information of the blocks which are present in database buffer cache(DBBC)
4.       GRD Information like:
a.        SCN #
b.       DBA- Data Block Address/ Data Block Identifier
                                                               i.      It is a combination of file id + block id
c.        Location of the most recent version of the block.
d.       Mode of the block:
                                                               i.      NULL(N) : It indicates that no access rights are available and the block can be accessed locally
                                                              ii.      SHARED (S): it indicates that access rights are available and block can be accessible by multiple instances.
                                                            iii.      EXCLUSIVE(X): It indicates that block can be accessible by only one instance exclusively, basically during DML operations.
e.       Role of the block:
                                                               i.      LOCAL(L): It indicates that the block image is present in only one instance
                                                              ii.      GLOBAL (G): it indicates that the block image is present in multiple instances.
f.         Type of the block image:
                                                               i.      Current (CURR)
                                                              ii.      Consistent read (CR)
                                                            iii.      Past image (PI)


GRD Example:

SCN#
DBA
Location
Mod of the block
Role of the block
Type of the image
U1 (user1 : Select statement from instance 1) N1 (node1)
125
1521
(fileid:15, block id:21)
N1 – Node1
Null (N)
Local (L)
CURR
U1 (User1: issued an update statement)
128
1521
N1
N à X
Null to exclusive mode
L
PI-Past image

CURR à CR

Cache fusion
U2(user2: update statement on same table form node2)
135
1521
N2
XàSàX
G
CURRà CR
               
GRD internally maintains by coordinating GES & GCS.

 Global Enqueue Service – GES: It coordinates with global resource lock request and non cache (other the DBBC) fusion by using LMC & LCK background processes

 Global Cache Services – GCS: It coordinates with cache fusion operations with the help of LSMn background process

Cache Fusion:
-          It is the process of transferring the available data blocks from one instance to buffer cache to another instance buffer cache
-          It is to avoid more costly hardware intensive disk I/O.
o    Disk read à millisecond
o    Cache read à nanosecond
-          It has two phases:
o    Cache fusion phase1 was supported with oracle8i, OPS for only read operations, still I/O has to happen for DML operations
o    From 9i, RAC onwards cache fusion phase2 was introduced for both data read & DML operations.

LMSn – Global Cache Service Process:
-          It is responsible for transferring the data blocks from 1 instance to another instance buffer cache.
-          This process can be controlled by the parameter “GCS_SERVER_PROCESSES”
GCS_SERVER_PROCESSES   = 1 (Default)
                                                = 10 (9.2)
                                                = 20 (10.1)
                                                = 36 (10.2) [0-9 & a-z]
               
Note: Cache fusion operations we can call It as cache coherent technique or soft ping where as disk read we can call as hard ping.

LMON - Global Enqueue Server Monitor:
-          It is responsible for maintaining the consistency for GRD among all the instance of a database
-          It is also responsible for GRD recovery for the failed instance.

LMD – Global Enqueue Service Daemon:
-          It is responsible for maintaining global resource lock requests i.e... Requests for the resource which are coming from the other instances. It will process them and maintain a queue

LCK – Lock Process: It is responsible for non cache fusion operations

DIAG: It is responsible for updating the diagnostic information in alert log files & trace files whenever server process or any other background processes need diagnosis.

No comments:

Post a Comment