Skip to main content Skip to complementary content

Limitations and considerations

You should be aware of the following limitations and considerations when using an Oracle XStream source.

  • Some limitations are inherent to Oracle XStream. For more information, see XStream Out Restrictions.
  • Rename table: When a selected table is renamed, Replicate will rename the table on the target, but will no longer be able to capture changes from the source table. In such a case, you need to stop the task, add the table with the new name to the task, and then resume the task.
  • Create table: When using a pattern to select tables, tables that were added after the task started will not be replicated, even if they match the pattern. In such a scenario, you need to stop and resume the task.
  • Replication of sys or system tables is not supported.
  • When the Oracle XStream endpoint is configured to use an existing XStream Server, due to an Oracle limitation on the number of sessions per server, it is not possible to run multiple tasks concurrently that access the same XStream Server. To work around this limitation, do one of the following:
    • Define multiple Oracle XStream endpoints (one for each replication task), each configured to access a different XStream Server.
    • Let Replicate create the XStream Servers (the default).
  • When replicating from a CHAR column, any trailing spaces will be truncated.
  • Capturing changes from a pluggable Oracle database (PDB) requires the source endpoint to connect to that PDB instance. Capturing changes from multiple PDB instances by connecting to the container database (CDB) is not supported.

  • Changes made by the Oracle DBMS_REDEFINITION package -( e.g. table metadata and the OBJECT_ID) - will not be captured by the data task.
  • During Change Processing, columns without supplemental logging (e.g. LOB columns) that are not updated will be inserted as NULL in the Change Table.
  • During Change Processing, batch updates to numeric columns defined as a Primary Key are not supported.

    Example of an unsupported UPDATE command:

    UPDATE tableX set ID=ID+1;

    Where tableX is the table name and ID is a numeric column defined as a Primary Key.

  • LONG and LONG RAW column limitations:

    • Data in LONG and LONG RAW columns cannot exceed 64k. Any data that exceeds 64k will be truncated.
    • The Allow unlimited LOB size option is not supported when loading LONG and LONG RAW columns into Oracle target.

      Workaround: Use the Limit LOB size to (KB) option instead.

  • Tables whose names contain apostrophes are not supported.
  • When using the escape character '\' to search for a table in the Select Tables window, you need to write '\\' (2 backslashes) instead of '\' (1 backslash). For example, to search for all tables that include '_', you would need to enter %\\_%.

    Information note
    • When adding a pattern for include or exclude, 2 backslashes are not required (for example, *%\_%).

    • When using '$’ for the escape character, there is no limitation.
  • When using Oracle 19.0 as the source, the following Oracle features are not supported:
    • Data-guard DML redirect
    • Schema-only Oracle accounts
  • When the Limit LOB size to option is enabled, empty BLOB/CLOB columns on the Oracle source will be replicated as NULL values. For more information on Limited-size LOB mode, see Target metadata.

Unsupported data types

The following data types are not supported:

  • BFILE
  • ROWID
  • REF
  • UROWID
  • ANYDATA
  • SDO_GEOMETRY
  • User-defined data types
  • BOOLEAN (Introduced in Oracle 23ai)
Information note
  • Virtual columns are not supported.
  • As the ROWID data type is not supported, materialized views based on a ROWID column are also not supported.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!