Our team is working on a project that is intended to transfer data between oracle databases over a DMZ periodically , and for some reason we are not allowed to use DBMS solutions for data replication between databases. we must develop a simple replication tool and its monitoring system suitable to our scenario by Java technologies. i have had a look on many things which i thought can help us in this project like Spring Integration , Spring Batch , Web Service , JMS and Message Queue , JMX ... but i can't find a clue where i should start.
Please guide me what are best options and best practices which i can follow.
You have two options:
Use some CDC (change data capture) solution that is analyzing changes in the database (Redo Logs) and applying the changes to the target - like Oracle GoldenGate, Streams, SAP Replication Server, Attunity, etc.
Use an ETL tool - that is periodically making SELECT statemetns in the source, and copying the whole data sets to the target.