Known limitations


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

  • 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 30 MB. Rows that exceed the 30 MB limit are not migrated and show up as errors in the migration job.
  • Index-organized tables (IOTs) aren't supported.
  • Temporary tables aren't supported.
  • 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 TIMEPSTAMP 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.
  • Tables without primary keys don't promise consistent replication. As a result, if updates occur in the source Oracle database, then expect duplicate rows and missed deletes. To learn how to migrate tables in the source database that don't have primary keys, see 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.


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