Skip to main content

Has anyone been able to mine Oracle redo logs using logminer? I’m beginner to Oracle but it seems to me that it should be possible. I’m trying to create cdc process from Oracle to postgres and I’m able to query insert and update operations sufficiently enough from date fields that tell me when rows are updated or inserted. However, I can’t catch delete operations that way and it would be beneficial to be able to read the redo logs for the actual operations. I know I can query and compare id’s from source and target to detect deleted rows. However, this is time consuming because that would mean querying hundreds of millions of rows for the workflow.

If I understood correctly, I need to setup DBMS_LOGMNR package and session for the logminer to be able to query V$LOGMNR_CONTENTS that would hold the transaction information. I guess DBMS_LOGMNR is part of Oracle database? Would that mean that I need Oracle database installed with license to be able to use logminer? The source Oracle database is on premise on client-side so that would be hard to achieve.

I was able to use pseudocolumn ORA_ROWSCN to get most recent SCN and its timestamp for rows and then query rows that changed in the last hour for example. However, I still can’t get the actual operation without accessing V$LOGMNR_CONTENTS that can’t be directly queried. Any other methods (without configurating change log tables to source with triggers) to get transaction operations on row level from Oracle?

Be the first to reply!

Reply