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 theUTF8
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 withNULL
values. - Zero dates in
DATE
,DATETIME
orTIMESTAMP
data types aren't supported. Zero dates are replaced withNULL
values. - For Oracle 11g, tables that have columns of data types
ANYDATA
orUDT
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
ordbms_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.