Known limitations

Known limitations for using an Oracle database as a source include:

  • Database Migration Service supports only UTF8 set encodings for the destination database. Schema and table names that include characters which aren't part of the UTF8 encoding set are not supported.
  • Table column names that include characters other than alphanumeric characters or an underscore (_) aren't supported.
  • Migration jobs are limited to 10,000 tables.
  • Database Migration Service supports Oracle multi-tenant architecture (CDB/PDB), however, you can only migrate a single pluggable database in a migration job.
  • Oracle Autonomous Database isn't supported.
  • Rows have a size limitation of 100 MB. Rows that exceed the 100 MB limit are not migrated and show up as errors in the migration job.
  • Index-organized tables (IOTs) aren't supported.
  • Global temporary tables require the pgtt PostgreSQL extension installed and created on the destination.
  • For columns of type BFILE, only the path to the file will be replicated. The contents of the file won't be replicated.
  • Columns of data types ANYDATA, INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH, LONG/LONG RAW, NCLOB, SDO_GEOMETRY, UDT, UROWID, XMLTYPE aren't supported, and will be replaced with NULL values.
  • Zero dates in DATE, DATETIME or TIMESTAMP data types aren't supported. Zero dates are replaced with NULL values.
  • For Oracle 11g, tables that have columns of data types ANYDATA or UDT aren't supported, and the entire table won't be replicated.
  • Oracle Label Security (OLS) isn't replicated.
  • Jobs that are scheduled by using dbms_job or dbms_scheduler aren't migrated.
  • Materialized views definitions are migrated, but their materialized data isn't. After you finish migrating, refresh your materialized views in order to populate them with data from the migrated tables.
  • Sequences are migrated, but their values in the source database might keep advancing before the migration is completed. After you finish migrating, update the sequence values on the destination instance to match those in the source database.
  • Database Migration Service doesn't support schema changes. For schema changes, update the conversion workspace according to the new schema, and then update the relevant migration jobs.
  • All tables in the destination should have a primary key. If a table in the source doesn't have a primary key, then one should be created using one of the options in Migrate tables without primary keys.
  • The destination database must have the same name as the username that's used to connect to the database.
  • Database Migration Service supports the following character set encodings for Oracle databases:
    • AL16UTF16
    • AL32UTF8
    • IN8ISCII
    • JA16SJIS
    • US7ASCII
    • UTF8
    • WE8ISO8859P1
    • WE8ISO8859P9
    • WE8ISO8859P15
    • WE8MSWIN1252
    • ZHT16BIG5
  • Database Migration Service doesn't support direct connectivity to databases using the Single Client Access Name (SCAN) feature in Oracle Real Application Clusters (RAC) environments. For information about potential solutions, see Debugging connectivity.

Quotas

  • Up to 2,000 connection profiles and 1,000 migration jobs can exist at any given time. To create space for more, migration jobs (including completed ones) and connection profiles can be deleted.