Difference between RAC and DataGuard(SafeGuard)- Reference for the new oracle DBA





The new oracle dba can quickly find here the difference between RAC and Dataguard(safeguard).

Dataguard : an application that takes the redo logs from a production database and applys them, real time, to another database ( a standby ) to keep them in sync.  if the prod database goes splat, the standby comes into play as the production database.

RAC is a database that is spread over many nodes.  each node shares some disk space that contains the database ( the database files ) and has its own instance ( memory structures ) that access that database.  when one node dies, the other nodes take the load until the dead node can be fixed and brought back online.

note: dataguard can run on rac as well and ship the redo to a standby at another location ( be it server, city, country… )

Datagaurd cuts down the recovery time to the lowest possible and you will need minor administrative steps to make this standy database as primary, before you can start using the standby database as primary and let the users connect to the new server..

RAC offers:
load balancing : you have multiple instances running on the same database and any new connection is routed to the instance with less work load in the available instances.
seamless Failover : if one of the instance is failed for any reason, the users are shifted to the existing instance seamlessly.

I encourage you to read
http://www.oracle.com/technology/oramag/oracle/07-jan/o17availability.html
There are many differences between RAC and Safeguard.
RAC is used:
1. To add additional DBMS power to corporate applications (when you have big tasks like monthly reports you add additional nodes to the RAC) 2. To make the DBMS "unbreakable" – if some of the RAC nodes fails, the survived nodes will take the load 3. For load balancing
RAC is very expensive – you need many servers, fiber channel infrastructure, eventually Storage Area Network. Of course this cost money
But RAC doesn’t save you in the case your disk (or disks) fail. In this case the RAC stops until the administrators  fix the failure, make recovery and so on.
To workaround this case Oracle strongly recommends SafeGuard (former Standby DB).
This are many separate Oracle instances that receive the archived log files from the Primary DB and apply them. Only in some cases these DBs can be used as readonly DBs (for Reports) only.
If the Primary DB fails the Safeguard DB is able to turn to normal mode and to act as new Primary DB.
The switchover takes short time and there are attempts to make the process automatic.

RAC is Oracle’s implementation of Grid Computing – Sharing resources across servers called nodes. Thes means you may have a powerful processing power by combining a group of small machines. It has been said that you better processing with many small servers in a grid than one powerful server. In addition to having powerful processing power, you also have high avalaibility because you may lose a server in the grid and your operation is not stopped because other servers in the grid are still available. RAC does not have to be expensive if you follow the small SMPs principle. Perhaps the biggest consideration will be the Oracle licences. One limitation of RAC is that it can not be implementation across a WAN it is contained within a LAN so if a building gets burned down then all is lost. This is where DataGuard comes to the rescue. If used in conjunction, DataGuard allows you to have a ‘Standby Database’ at a different location. This standby database, as the name suggests, is on standby to take over processing when there is a problem with the main site. The standby databse could be configured for read-only mode so that while on standby, it may still be used for batch processing.

You don’t have to implement DataGuard with RAC or vice versa. They are mutually exclusive but they can be complementary.

> Does window server support both Data guard and RAC?  
Yes.

> Are these the best options for the disaster recovery ?
As you can see from the comments above, it depends what levels of availability, performance, protection you want and your budget will allow you. For instance if you run a 24-7 facility but can afford 48hrs downtime if there is a fire, then you may implement RAC but not DataGuard. But if you run a critical finance system or a mobile telecoms system where downtime means that customers use free airtime, then you will want DataGuard in addition to RAC.

Author: admin