将 Oracle 数据库用作来源的已知限制包括:
- Database Migration Service 仅支持为目标数据库设置
UTF8
编码。不支持架构和表名称包含UTF8
编码集所不含的字符。 - 不支持表格列名称包含字母数字字符或下划线 (
_
) 以外的字符。 - 迁移作业最多只能包含 10,000 个表。
- Database Migration Service 支持 Oracle 多租户架构 (CDB/PDB),但您只能在一个迁移作业中迁移一个可插入数据库。
- 不支持 Oracle 自治数据库。
- 行的大小限制为 100 MB。系统不会迁移超出 100 MB 限制的行,并且这些行会在迁移作业中显示为错误。
- 不支持索引整理表 (IOT)。
- 全局临时表需要在目标位置安装并创建
pgtt
PostgreSQL 扩展程序。 - 对于
BFILE
类型的列,只会复制文件路径。不复制文件的内容。 - 不支持
ANYDATA
、INTERVAL DAY TO SECOND
、INTERVAL YEAR TO MONTH
、LONG/LONG RAW
、NCLOB
、SDO_GEOMETRY
、UDT
、UROWID
、XMLTYPE
数据类型的列,这些列会替换为NULL
值。 - 不支持
DATE
、DATETIME
或TIMESTAMP
数据类型中的零日期。零日期会替换为NULL
值。 - 对于 Oracle 11g,不支持列的数据类型为
ANYDATA
或UDT
的表,并且不会复制整个表。 - 不复制 Oracle 标签安全 (OLS)。
- 使用
dbms_job
或dbms_scheduler
安排的作业不会迁移。 - 系统会迁移具体化视图定义,但不会迁移其具体化数据。迁移完成后,刷新物化视图,以便使用迁移的表中的数据填充这些视图。
- 序列会被迁移,但在迁移完成之前,源数据库中的值可能会继续递增。迁移完成后,请更新目标实例上的序列值,使其与源数据库中的序列值保持一致。
- Database Migration Service 不支持架构更改。对于架构更改,请根据新架构更新转换工作区,然后更新相关的迁移作业。
- 目标中的所有表都应具有主键。如果源中某个表没有主键,则应使用迁移没有主键的表中的某个选项创建主键。
- 目标数据库的名称必须与用于连接到数据库的用户名相同。
- Database Migration Service 支持以下 Oracle 数据库字符集编码:
AL16UTF16
AL32UTF8
IN8ISCII
JA16SJIS
US7ASCII
UTF8
WE8ISO8859P1
WE8ISO8859P9
WE8ISO8859P15
WE8MSWIN1252
ZHT16BIG5
- Database Migration Service 不支持在 Oracle Real Application Clusters (RAC) 环境中使用单个客户端访问名称 (SCAN) 功能直接连接到数据库。如需了解可能的解决方案,请参阅调试连接。
配额
- 在任何给定时间,最多可以存在 2000 个连接配置文件和 1000 个迁移作业。如需为更多任务腾出空间,可以删除一些迁移作业(包括已完成的作业)和连接配置文件。