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?
Tracking changes to a table via the update/insert cmds executed against it daily
change-trackinggoldengatelogsoracle
Related Question
- Oracle 12c – Datafile Recovery
- Oracle Table Changes – Capturing Table Changes Without Killing the Server
- Oracle – Why Do an ORDER BY for INSERTs AS SELECT?
- How to set the sequence to the last used id for all tables in Oracle
- SQL Server – Full-Text Catalog with Track Changes: AUTO
- PLSQL – Stored Procedure Cannot Call Execute Immediate
- How to justify making changes to the redo logs
Best Answer
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.