Forum Discussion
Oracle CDC source succeeds with zero rows moved; per-table task never starts
We are configuring a Fabric Copy job to replicate change data from an on-premises Oracle database into a Fabric Data Warehouse using the Oracle CDC (LogMiner-based) source connector, per the documented tutorial (Change data capture from Oracle database using Copy job, learn.microsoft.com/en-us/fabric/data-factory/cdc-copy-job-oracle). All documented prerequisites are met and independently verified (see Section 3). Despite this, running the Copy job reports overall status Succeeded, but the job summary shows “Jobs completed 0/1,” “Rows read: 0,” “Rows written: 0,” and the individual table-level task status is Not started. This indicates the per-table copy task is never being triggered by the Copy job orchestration, rather than running and finding no changes.
Troubleshooting already completed-
1. Connection points at the primary database, not the Data Guard standby
2. FORCE LOGGING is enabled
3. Archived redo logs are present and not prematurely purged
4. FLASHBACK ANY TABLE is granted to the exact user configured in the Fabric connection
5. database- and table-level supplemental logging are enabled
6. Manual LogMiner session, run as the Fabric connection's LogMiner user, successfully returns the test change
Dear community, any thoughts about? Is there someone that was able to setup Copy job with CDC against on-prem Oracle?
3 Replies
- v-abhinavmuCommunity Support
Hi,
Thanks for providing the detailed troubleshooting information.According to the Microsoft documentation, Oracle is supported as a CDC source for Copy job, and Oracle CDC uses LogMiner to capture inserts, updates, and deletes from the redo logs. The documentation also states that the first run of an incremental Copy job performs an initial full load, while subsequent runs capture changes through CDC.
One documented configuration point worth verifying is the table selection. When configuring an Oracle CDC Copy job, Microsoft states that the source tables with CDC enabled should be selected. The documentation also notes that if both CDC-enabled and non-CDC-enabled source tables are selected in the same Copy job, the job treats all selected tables as watermark-based incremental copy.
Given that the Oracle-side prerequisites and LogMiner operation have already been independently validated, I would verify that the affected table is being detected and selected as a CDC-enabled table in the Copy job, and that the job does not contain a mixture of CDC-enabled and non-CDC-enabled tables.
For more details, please refer to the below Official Microsoft documentation:
Change data capture from Oracle database using Copy job - Microsoft Fabric | Microsoft LearnChange data capture (CDC) in Copy Job - Microsoft Fabric | Microsoft Learn
What is Copy job in Data Factory - Microsoft Fabric | Microsoft Learn
I hope this helps. Please feel free to reach out if you have any further questions.
Thank you. - acitsmeHelper II
Hi v-abhinavmu,
thank you first for you quick response and valuable input.
Coming to your question, we activated the additional logging on a single Oracle table. When connecting to Oracle through the Fabric copy job artifact, that one is the only table with CDC written in the icon. For the copy job, we selected that table only, so there is no a mixture of CDC enabled and not enabled. By the documentation, we should experience a full load first than CDC would be play. We noticed that even the intial load fails.
We tryed also to copy the full table skipping incremental CDC and that worked with no issue.
Oracle is 19c version with data guard enabled.
Do you have any additional suggestion?
Best regards,
Antonio
- acitsmeHelper II
Hi v-abhinavmu,
here are fresh additional information gathered in a new try:
1. Trying to create a new copy job, clicking Save/“Review + save” immediately produces a toast error: “Error saving, validation error.”
2. Then Opening “Edit copy job” on the existing cj_cdc item causes the configuration screen to reset: the previously configured Source, Destination, and Mapping fields do not reload with their saved values — the screen behaves as if starting a brand-new, blank copy job.
3. Moreover, with browser DevTools Network tab tried to determine whether this was a backend validation failure or a client-side one. Result: no backend API call associated with the Save action returned a non-2xx status. The only 404 present in the trace (a GET to .../powerbi/resource/userPhoto/) is an unrelated, pre-existing Power BI portal avatar-fetch request and is not connected to the copy job save action.
Maybe this indicates the “validation error” is being raised entirely client-side, before any save request reaches the backend — consistent with the edit screen's form fields being empty/unhydrated and front-end validation correctly (but unhelpfully) flagging them as incomplete.
I'm using an empty Fabric Warehouse as sink.
Does it narrow the issue?