ORACLE Dataguard vs Real Application Cluster (RAC)
RAC and Data guard are very important topics in Oracle High Availability. Both of these architectures have many enhancements in Oracle 11gR2 than the 10g and 9i. ORACLE recommends having a combination of RAC and data guard to get the maximum benefit of data level and system level protection.
What is RAC?
RAC stands for Real Application Cluster. This is a cluster of a database. That means single database utilizes resources of two or more servers. In other words, two or more instances are running on two or more servers (nodes) connecting to a same database. All of these instances have the read write access to the database. If one of these nodes of the systems goes down, the database never goes down. Users still have access to the database through the other nodes (automatically directs the connections coming to the failed server, to a running node). Cluster ware software and shared disks are used to keep the connection and communication between these multiple servers. RAC is a good solution for hardware failures, system failures, and software failures.
What is Data Guard?
Data guard is a configuration, which has at least one standby database of the primary database. The primary database can have one or more standby databases. This whole configuration is called the data guard. The standby databases can be running on the following modes, if the primary database has at least one of these database modes.
- Maximum protection mode
- Maximum availability mode
- Maximum performance mode
Both the primary and the standby databases together is called the data guard. There are two types of standby databases too. They are,
- Physical Standby Databases
- Logical Standby Databases
Both of these standby databases are always synchronizing with their primary databases. Standby databases can be on the same site or a separate site (recommended) of the primary database. Therefore, data guards are good solutions for the SITE failures rather than instance failures, software failures and hardware failures.
What is the difference between Oracle RAC and Data Guard?
• RAC has one database and several instances associates with it, but data guard has several databases (one primary and others standby databases).
• RAC is the recommended solution for instance, software and hardware level failures. Data guard is the recommended solution for the SITE failures.
• Cluster ware software is used to keep the connection and communication between all nodes of the RAC, but in data guard, cluster ware software is not used. (if the data guard is not for a RAC)
• RAC must have a shared storage, which can be accessed from all the nodes of the system, but in data guard there is no shared storage, which is common for all the sites.
• RAC can have maximum of 100 nodes. Data guard can have maximum nine standby databases.