Edit

Mirroring Oracle limitations in Microsoft Fabric

This article outlines the current limits when mirroring Oracle databases in Microsoft Fabric. These limits could change as we continue to improve the service.

Note

We currently support Mirroring for Oracle for On-Premises Data Gateway (OPDG). Utilize version 3000.282.5 or greater.

Scale Limits

Here's what you can expect for database scale:

  • Currently, mirrored database supports up to 1000 tables

Supported Environments

We support these Oracle Server environments:

  • Oracle versions 10 and above with LogMiner enabled
  • Oracle on-premises (VM, Azure VM)
  • Oracle Cloud Infrastructure (OCI)
  • Oracle Database@Azure
  • Oracle Exadata

Note

  • LogMiner needs to be enabled on your Oracle server. This tool helps track changes in your Oracle database for real-time mirroring.

Mirroring prerequisites

Here's what you need for your database setup:

Data Types and Schema Support

These Oracle data types are supported:

  • VARCHAR2
  • NVARCHAR2
  • NUMBER
  • FLOAT
  • DATE
  • BINARY_FLOAT
  • BINARY_DOUBLE
  • RAW
  • ROWID
  • CHAR
  • NCHAR
  • TIMESTAMP WITH LOCAL TIME ZONE
  • INTERVAL DAY TO SECOND
  • INTERVAL YEAR TO MONTH

For schema (DDL) changes, we currently support:

  • Column changes (partial support):
    • Add columns
    • Delete columns
    • Rename columns

Note

Column data type updates aren't supported

We also support mirroring tables that have a partitioning - if your source tables are partitioned, then we can mirror those tables over.

Tables that don't have a Primary Key (PK) are supported - if you have a unique index in your tables, then we can support mirroring those tables. If your tables don't have a Primary Key (PK) or a unique index, we will not support mirroring those tables over.

We can't support table names that have a length greater than or equal to 30.

Large tables and reseeds

Onboarding or reseeding multiple large tables at the same time does cause sharp memory spikes. If you stagger large tables and avoid bulk restarts that trigger multiple reseeds concurrently, it proves to work well.

Required Permissions

Your sync user needs these permissions:

GRANT CREATE SESSION TO user;
GRANT SELECT_CATALOG_ROLE TO user;
GRANT CONNECT, RESOURCE TO user;
GRANT EXECUTE_CATALOG_ROLE TO user;
GRANT FLASHBACK ANY TABLE TO user;
GRANT SELECT ANY DICTIONARY TO user;
GRANT SELECT ANY TABLE TO user;
GRANT LOGMINING TO user;

Configuration Requirements

Archive Log Settings

Your database needs these archive log settings:

  • ARCHIVELOG mode enabled
  • Keep archive log mode on during mirroring
  • Redo log file archiving enabled by the database admin

Aggressive purging of Oracle archive logs during initial load or heavy CDC activity can force retries and increase memory pressure. The guidance for stablility is to avoid purging during initial load and heavy CDC. If downtime windows aren’t clear, please retain at least the last ~24 hours of logs.

If you get this error - "Complete Logminer Dictionary not found or ORA-01291: missing logfile\nORA-06512: at \"SYS.DBMS_LOGMNR\.," follow the above guidance on the retention of log files.

Logging Configuration

If your Oracle user doesn't have direct ALTER DATABASE and ALTER TABLE permissions, ask your DBA to run these commands:

  1. Enable supplemental logging for the database:

    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE) COLUMNS;
    
  2. Enable supplemental logging for each table you want to mirror:

    ALTER TABLE {schemaName}.{tableName} ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
    

Set up your gateway

Currently, we only support connecting to Oracle using an On-Premises Data Gateway (OPDG). You need to install and configure the gateway on a machine that can connect to your Oracle server.

For machine requirements and setup instructions to install and register your gateway, see the On-premises Data Gateway installation guide.

Note

In higher‑concurrency setups, memory usage accumulates over time as each mirroring pipeline runs its own process. Better stability can be obtainted by -

  • Using fewer, more powerful gateway VMs with sufficient headroom and
  • Dedicating the VMs exclusively to the on‑premises Data Gateway - no other Fabric or batch workloads

If you get this error - "Unable to connect to the remote server…," either a connection attempt failed because the connected party didn't properly respond after a period of time, or the established connection failed because connected host failed to respond. Oracle Mirror Publisher runs on On Premises Data Gateway and needs to have the authoritative requirements for gateway outbound connectivity. Refer to the Adjust communication settings for the on-premises data gateway and follow the guidance listed there.

Issues outside of Mirroring for Oracle

If you get any of the following errors -

  • ORA-00604: error occurred at recursive SQL level 1\nORA-01289: cannot add duplicate logfile +DBSV6162_ARCHIVE_OBIA/CPOBIACH/ARCHIVELOG/2026_03_03/thread_1_seq_138823.582.1226964749\nORA-06512: at \"SYS.DBMS_LOGMNR\," line 82\nORA-06512: at line 1\nORA-06512: at line 1\nORA-06512: at \"SYS.DBMS_LOGMNR\," line 72\nORA-06512: at line 1'
  • ORA-65040: operation not allowed from within a pluggable database.

You need to reach out to the Oracle support team or open up a support ticket with Oracle - not Microsoft. Let the Oracle support team know that the Oracle database used for Mirroring needs updates to the latest patch.