Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: ORACLE RAC and ORACLE Standby
Gabriel,
In general terms, standby is better for disaster recovery and RAC is more useful for high-availability and load balancing. Both configuration provide an ability to write a cold database server backup with taking any downtime on your primary database instance.
The standby database provides a local or off-site recovery instance. All database activity (DDL, DML) takes place on the primary instance. Archived redo logs are transmitted from the primary instance to the standby instance and applied to the standby instance to replicate the primary database updates. Although the connection between the two instances should be fast enough to support timely transmission of the log files, the functionality of the primary instance is not affected by a slow connection to the standby. A time delay on the redo log application to the standby database can provide a good "opps" cover for the primary (similar capabilities are also provided by flashback and logminer, depending on your oracle version). If the standby instance is not open for querying, no additional licensing is required - the primary instance licensing covers both since only one database will be open and in use at any time.
RAC is two instances running on two (or more) different machines with shared or independent storage. Both instances must be licensed because queries and updates are running in both instances. A high-speed communication connection is required between the two instances because the instances are talking to each other constantly. When one database instance goes down, the "database" stills runs from the other instance. In 10g a read query can be picked up by the other instance without interruption. For updates, the connection can fail over to the second instance, but the transaction must be restarted (your custom code can detect this error and resubmit the update transaction).
Load balancing capabilities of RAC (beyond normal even loading) include dedication of one instance for batch processing or one or two instances to serve one particular application. If one database (datastore or data warehouse) has a heavy overnight load and a smaller business hour load while another database (transaction processing) has a heavy business hour load and is mostly idle overnight, then you may be able to better utilize your processing power (and licensing costs) by creating an instance of each database on each server in a RAC. Overnight your data warehouse database has the cpu capacity of both servers. Suppose you have purchase enough cpu to run the data warehouse load jobs overnight (i.e. 4 procs) and then watch that sit mostly idle during business hours, while you also purchase capacity for peak business hours loads on your transaction processing database (i.e. 4 procs) that still mostly idle overnight. Instead of 8 procs (4 on each independent server) a RAC setup with 6 proc (3 proc on each server), may provide better cycle times at a reduced cost.
Hope this helps,
Margaret
Received on Wed Aug 31 2005 - 13:26:31 CDT