Solved

Comparing Oracle High Availability Solutions

Posted on 2011-09-29
5
689 Views
Last Modified: 2012-05-12
Hi:

We are looking for a solution where our application is able to either write to two databases on separate servers in separate data centers or have Oracle manage this synchronization of data for redundancy.  We need the application to be up 24x7 so we were looking at Data Guard originally.

Current architecture in test is:

Application 1 (A1) and Database 1 (DB2)  are on the same server.  Application 2 (A2) and Database 2 (DB2)  are on another server.   If the A1/DB2 Server fails, corosync switches everything to A2/DB2 and Oracle bidirectional streams are set up between the databases to sync the data. However, the streams are not reliable and seem to break and we have issues with sequence numbers, and streams is to be de-supported (GoldenGate is supposed to be the replacement?)

We are looking at re-architecting this solution but we would like something that either writes to both databases (Advanced replication or GoldenGate?).  We were considering Data Guard (11g) but I am not sure how the application would know to write to the standby if there was a failure on the primary or if we do a switchover.   So if we have 4 servers now (A1, A2, DB Primary, DB Standby) and A1 went down and switches to A2, could I name the SIDs the same so that A2 writes to the either primary DB depending on which server it is on?  I hope my question makes sense, the complexity and options of the HA solutions is confusing.  I'd prefer something that does not require manual intervention on the db side as well.  

We need the application to be up and running always and not lose any data. It is a small fast logging application but if it is down, users can't log into their applications.

Thanks for any feedback on the best solution (Data Guard, Advanced Replication, RAC, GoldenGate, bidirectional streams?)


0
Comment
Question by:szadba
  • 2
  • 2
5 Comments
 
LVL 47

Assisted Solution

by:schwertner
schwertner earned 250 total points
ID: 36816331
Data Guard is the best solution because it is known, well designed and there are many articles on it.

But the main question is if you have control over the functionality of the application.

If the answer is yes you can write on more then one Oracle instance an to read from one of them that is available.
If this is not the case then you have standard solution like Data Guard.
0
 

Author Comment

by:szadba
ID: 36817193
I think I may have found the solution to my question.    With Data Guard use the Fast Start Failover and Data Guard Broker to failover automatically.   I can also configure  Transparent Application Failover (TAF) and Fast Application Notification (FAN)  Oracle services so that the  application will know where to go if the primary becomes unavailable and fails over to a new primary.  FAN comes in several flavors – for JDBC thick and thin clients AND for OCI-based clients.  

Looking at RAC, I see that this would work too but I would still need to configure Data Guard and RAC is costly and would require more set-up.

Streams works but is not going to be enhanced any longer due to GoldenGate being acquired.

So if anyone has anything to share using Data Guard with the FSF, FAN/TAF services or thinks there may be a better solution, please let me know.
Thanks!
0
 
LVL 15

Accepted Solution

by:
Franck Pachot earned 250 total points
ID: 36817917
Hi,
DataGuard is the best solution if you can accept an interruption of a few minutes in case of failover.  It is simple and reliable.
RAC is the solution if you cannot accept those 5 minutes, but it does address only the high availability of the instance - not the lost of the database files. But RAC is more complex to manage (and that is sometimes against the availability...)
I don't think that GoldenGate is an high availability solution, as HA must be reliable, and should provide same performance (so data must be identical logically and physically)
Regards,
Franck.
0
 
LVL 47

Assisted Solution

by:schwertner
schwertner earned 250 total points
ID: 36895960
RAC is not failover solution. RAC is load balancing solution.
But if you have access to the code of your application you could ask to duplicate the output DMLs (insert, update, delete) into different duplicate DBs.
0
 

Author Closing Comment

by:szadba
ID: 36918776
splitting points.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Suggested Solutions

Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
This video shows how to Export data from an Oracle database using the Original Export Utility.  The corresponding Import utility, which works the same way is referenced, but not demonstrated.
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now