Question

My team and I are developing a program for a bank and need to synchronize data with an existing system that is deployed on the internal network of the bank's clients. Any update made to the data in our system should be replicated to their system and vice-versa. The database used by our system is Oracle 11g and the existing system used Oracle 10g. We had initially considered using web services for this but the developers of the existing system don't want to build the web services. So we are left with the option of using database links to synchronize data.

  1. What are the pros and cons of using database links to replicate data?
  2. Since it's a banking application handling monetary transactions, how do we encrypt the data sent across the networks?
Was it helpful?

Solution

You wouldn't use database links to replicate data-- at least not alone. You would want to configure either Oracle Streams, Oracle GoldenGate, or Advanced Replication to handle your bidirectional replication. Streams would be the preferred choice since you're dealing with Oracle to Oracle replication since it's a newer and more efficient architecture than Advanced Replication. Both options are included with the enterprise edition license. GoldenGate is a product that Oracle purchased relatively recently that would be more appropriate if you were trying to replicate data from Oracle to non-Oracle databases and requires additional licensing.

If you want to encrypt the data in transit between the two databases, you would need to license the Oracle Advanced Security option on both databases. That is an extra cost option on top of the enterprise edition license. The alternative would be to configure a VPN or secure port forwarding between the servers.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top