Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have an oracle database back end for our SAP ECC system. In it we have a table with over a billion records. We would like extract this table to our SAP BW, which happens to be on MSSQL Server. The table we are trying to extract has no change pointer or column for which to track the changes made against it. Given its volume we are unable to kill and fill it every day. We have looked at Oracle GoldenGate but do not want to spend that kind of money. Has anyone else done this kind of work before?

share|improve this question
up vote 1 down vote accepted

This sounds like a situation where Oracle Change Data Capture would be appropriate. You would need to write some code that would subscribe to changes to this table and process them by pushing the changes to your SAP BW system.

You can also use Oracle Streams to do heterogeneous replication from Oracle to a non-Oracle database using an Oracle Transparent Gateway.

share|improve this answer

One option would be to create an oracle trigger which captures the primary key plus the action (UPDATE/INSERT/DELETE) to a custom table and then run some extract in the language of your choice joining the custom table to the real one to get the changed rows by the primary key. Then truncate the custom table so the next run only includes changes since the last run.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.