Does EnterpriseDB support Oracle RAC to Postgres replication?
Does EnterpriseDB support Oracle RAC to Postgres replication
enterprisedboracleracreplication
Related Solutions
Virtualizing an Oracle RAC isn't necessarily a stupid idea, but it should only be done with a full understanding of the benefits and risks. You are asking questions, so that is a good step in the right direction.
Your question doesn't say which virtualization technology, the Oracle version, or the edition. For now I will assume this is for production on VMWare with the enterprise edition of Oracle 11.2.0.2+.
Virtualization provides some of the same benefits of RAC, though in a dramatically different way. Both can reduce or eliminate downtime due to some hardware failures, and both can allow servers to be restarted without affecting availability. RAC increases capacity and allows for rolling upgrades, which are things virtualization can't do. VMware on the other hand can allow servers to be restarted, hardware to be changed, and storage to be relocated all without bringing any instances down.
Licensing
With VMWare the entire server has to be licensed even if it will be running multiple virtual machines only one of which is for Oracle. This can either be a good thing or a bad thing. If you are virtualizing Oracle onto an existing cluster with other VMs, then all the machines in the cluster will need Oracle licenses. This could significantly increase your licensing costs likely to the point of making the purchase of additional hardware miniscule in comparison.
On the other hand, a VMWare cluster dedicated to Oracle can allow virtualized instances to float to less busy nodes and under-utilized hardware can handle multiple instances, potentially decreasing the overall hardware costs and licensing costs.
Support
Oracle's official stance for running databases on VMWare can be found in ID 249212.1, which says certification has not been done for it's products on VMWare. Since virtualization can be viewed as a hardware layer, this would be in keeping with the general lack of hardware certification.
The following note was added with 11.2.0.2:
NOTE: Oracle has not certified any of its products on VMWare. For Oracle RAC, Oracle will only accept Service Requests as described in this note on Oracle RAC 11.2.0.2 and later releases.
Read the entire note for the full context, but it seems that Oracle is beginning to make allowances for even RAC on VMWare.
Application Support
If your applications are all RAC aware and can gracefully handle the loss of an instance, then some of the benefits that VMWare add would not be as worthwhile. On the other hand, if the applications are not RAC aware and will need to re-connect anyway, then the transparency of VMWare VMotion would be more desirable.
Complexity/Flexibility
The combination of RAC and virtualization allows for a lot of flexibility, but also increases complexity considerably. To restart a server you could VMotion all the instances off of that node to other nodes using VMWare, or you could bring the instances on that box down using RAC. Each option has pros and cons that you would have to consider.
Thoughts
Since virtualization provides some of the benefits of RAC, you could abandon RAC and potentially save a lot of licensing cost and reduce the overall complexity.
Moving multiple nodes of the RAC to the same virtual machine host would be a very bad idea. You would loose some of the benefits of RAC while increasing the complexity and decreasing the availability.
It will likely all come down to licensing. If you have to license even one additional CPU due to the move to VMWare, it would likely cost less to just buy more hardware. Of course there are many factors that could affect this.
There is much more information that could be discussed on this subject, so please don't use this information here as your sole source in making your decision.
Yes, Oracle RAC is built using multiple servers sharing their memory - Cache Fusion - and they all access the same shared storage where the database resides. In Oracle an Instance is just the collection of processes that acts as an interface between client connections and the actual database.
Since all storage is shared, when a server crashes, a surviving Instance can perform the crash recovery on behalf of the crashed Instance[s].
You could call the storage a single point of failure but also one that can be taken away using for example Oracle Active Data Guard, where all transactions are transported to a remote standby database that is open for read access. Doing so allows you to build a very scalable system that has also a very high availability because you can activate your primary database in whatever datacenter that is part of your configuration and every datacenter normally has it's own power and storage.
Best Answer
The difference between Oracle RAC and Postgres cluster architectures does not in itself prevent you from setting up replication between an Oracle database (RAC or no RAC) and a Postgres database (Advanced Server or not).