Forum Discussion

acitsme's avatar
acitsme
Helper II
11 days ago

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? 

8 Replies

  • v-abhinavmu's avatar
    v-abhinavmu
    Community Support

    Hi acitsme​,

    I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions. 

    Thank you.

  • 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? 

    • v-abhinavmu's avatar
      v-abhinavmu
      Community Support

      Hi acitsme​,
      Thank you for sharing the additional details. The latest results help provide more context.

      According to the Microsoft documentation, Oracle CDC in Copy job uses LogMiner to capture changes from the Oracle redo logs. The documented configuration is to select the CDC-enabled tables, choose Incremental copy, and then Save + Run. Microsoft also states that the first run performs an initial full snapshot, while subsequent runs capture inserted, updated, and deleted records through CDC. 

      You have already confirmed that the table is identified as CDC-enabled, it is the only table selected, the Oracle/LogMiner prerequisites have been verified, and a normal full copy of the same table succeeds.

      Given the additional Save/Review + save validation error and the fact that the existing Copy job does not reload its previously configured Source, Destination, and Mapping fields, I would try creating the CDC Copy job again with the single CDC-enabled table and the documented Incremental copy configuration, and then check whether the configuration can be saved and the initial full snapshot starts.

      If the same validation error continues, the details you have already collected — including the Copy job status, table-level Not started status, validation message, timestamps, and browser network information — should provide useful information for further investigation.
      I hope this helps with the next step.

      For more details, please refer to the below Official Microsoft documentation:
      Change data capture from Oracle database using Copy job - Microsoft Fabric | Microsoft Learn
      Change data capture (CDC) in Copy Job - Microsoft Fabric | Microsoft Learn

      I hope this helps. Please feel free to reach out if you have any further questions.
      Thank you.

    • ShivekMaharaj's avatar
      ShivekMaharaj
      Impactful Individual

      Hi acitsme​,

      That latest test changes the direction I would investigate.

      If a brand-new Copy job reaches Save/Review, immediately returns Error saving, validation error, no save request is sent from the browser, and reopening Edit copy job shows Source, Destination and Mapping as blank, I would first treat this as an authoring/configuration-state problem rather than an Oracle LogMiner problem.

      The documented Oracle CDC Copy job flow should allow you to select the CDC table, destination and incremental mode, then Save + Run. The first run should perform the initial full snapshot before subsequent CDC runs.

      Since your normal full Copy job against the same Oracle source succeeds, I would use that as an A/B test and avoid changing further Oracle privileges until the CDC job can be saved consistently.

      One useful diagnostic is the newer Copy job JSON editing capability. It became GA in May 2026. After reproducing the validation error, inspect the Copy job definition and check whether the source, destination and table/mapping configuration were actually persisted. I would use the JSON primarily for diagnosis rather than manually constructing undocumented CDC settings.

      I would also reproduce once in an InPrivate window or clean browser profile to rule out cached client state/extensions. If the UI still loses the configuration and no save request reaches the backend, I think that is strong evidence to open a Fabric Support case with:

      • the Copy job item ID
      • workspace ID
      • exact timestamp
      • browser console output
      • HAR/network capture
      • screenshots of the configured wizard and blank Edit screen
      • exported/viewed Copy job JSON


      Oracle CDC in Copy job is still Preview, so if this reproduces consistently I would want Microsoft Support to confirm whether this is an authoring validation defect.

      I would not expect supplemental logging or LogMiner grants to explain a save validation that occurs before the job definition is submitted.

      AI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.

      • acitsme's avatar
        acitsme
        Helper II

        Finally I had the opportunity to perform additional testing. The error "Error saving, validation error.” was caused by the fact I didn't select a Key column as below.

        Once the key was selected the copy job get persisted but now facing this error "

        Operation on target LogMinerCopyActivity failed: ErrorCode=UnsupportPayloadForExternalCommand,The input payload is not supported by the external command MSSQLImportCommand, detail message: DataWarehouse Copy Command doesn't support 'Source connector type' as 'OracleV2Unbundle'.

        "

        Now digging deeper in this error. Any hint?

         

  • 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

  • v-abhinavmu's avatar
    v-abhinavmu
    Community 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 Learn

    Change 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.