Monday, 12 December 2016

What is Oracle Real Application Clusters (Oracle RAC) and their details

Hi Friends,

Today, we will discuss about RAC basic things which everyone should know these.
Some of friends write to us as they are interested to know the basic of RAC.
So, let’s start the basic knowledge on RAC. I have tried to write in very easy and basic languages which can be easily understandable.
If anyone has any idea or suggestions, please add here below. We like to hear from you.

Oracle Real Application Clusters (Oracle RAC):

·        In RAC Multiple instances running on separate servers (nodes).

·        Here, single database on shared storage accessible to all nodes.

·        And easily Instances exchange information over an interconnect network.
In Simple words, if you ask me. It is one database and Many Instances 

Here, Instances can many any numbers like Instance1, Instance2 etc. As depend on customer.
There is some Different Background Process, which is different from single Node server, some of them are below:

1.     LMON : Global Enqueue Service Monitor, This process is per instances.

For example, if you have 2 instances then it will be 2 LMON process.

·        It monitors cluster to maintain global enqueues and resources

·        And it manages recovery processing for cluster and enqueues  instance and process expirations

2.     DIAG : This is called Diagnosibility Process

·        It collects diagnostic data in the event of a failure.

·        And creates subdirectories in BACKGROUND_DUMP_DEST directory.

3.     LMD0 :

·        Global Enqueues Service Daemon

·        Manages requests for global enqueues

·        Updates status of enqueues when granted to / revoked from an instance

·        One LMD0 process per instance

4.     LCK0 : It is known as Lock process.
·        Instance Enqueue Process
·        It Manages instance resource requests and cross-instance call operations.
·        It also assists LMS processes.

Actually, why we need RAC?

As we all know, our Servers can be outage anytime anywhere. We can’t say our servers are forever and it will be available always.
It can be either Software Failure or Hardware Failure.
Our servers can go outage from following reason, in which some of them are mentioned here:

  1. Software Failures

       Database Instance Crash (ORA-00600, -7445)

       O/S crash (kernel panic, BSOD)

       Database, O/S, Driver hangs

  2. Hardware Failures

       Server failures

       Network failures

       Storage failures

  3. Corruptions

       File system corruptions (O/S or FS driver bug)

       HBA failure (lost or corrupt writes)

       Disk media failure

  4. User Errors

       Full table updates/deletes (no WHERE clause)

       Dropped tables
       Updates/Inserts with bad data

  5. Planned Maintenance
       Reorganizing tables, rebuilding indexes
       Firmware, O/S, or Database patches
       Proactive hardware upgrade / replacement
  6. Regional Disasters
       Typhoon, flooding, earthquake, volcano
       Damaged to Data Center building
       Loss of Network or Power

These above are the reason from which Sources can be Outage.

Now, you are thinking that “You never thought that many ways our Sources can outage”. No need to worry, there are some solutions also. See, we can’t stop some of them which are not in our hand Regional Disasters and some others. But we can plan in advanced.  

There are some technologies which is useful as per their situations:

1.     If Hardware Failure, We can use RAC and Data Guard technologies.

2.     If Software Failures, we have choice of RAC, Data Guard technologies.

3.     In case of Corruption, we should use Data Guard and RMAN tools.

4.     If we have User Errors issues like some data deleted or dropped then we should Flashback Technology and Export/Import/Data Pump or RMAN tools.

5.     In case of Regional Disasters we should use Data Guard and RMAN tool.

6.     If we have any Planned Maintenance then we can follow below technologies:

*        RAC and Data Guard

*   Online Reorganization and Online Redefinition
           *   Grid Control which helps in Monitoring and proactive maintenance. 

Benefits of RAC:

Now we will see what the main benefit of using RAC is.

*Increased Availability
       By using RAC, it will increase the availability. It means a server failure does not interrupt surviving nodes.
* Because, If we have 2 Instances. And if 1st instance goes down, automatically it will be shifted/transfer to 2nd instance.
*  Increased Scalability 
* Increased Flexibility 
* Reduced Cost
-         No idle servers 
-          better server utilization

-         Leverage cost savings of smaller servers

-         Lower initial cost

-         Lower support cost

  Hope this will be useful for all, if you any concerns or suggestions please write to us.
 Remember, you words value to us.



  1. kindly ppost step by step 11gr2 rac 2 node config with SAN.


    1. Dear User,

      Frankly, right now, I don't have any docs for this in details step by step.
      I will try to prepare and update once completed at free time.
      May I know, is it only for learning or you want in real time implementation?

      ora-data Team.


Thank you for your comments and suggestions. It's good to talk you.