迁移准确度

使用 Database Migration Service 将 Oracle 工作负载迁移到 AlloyDB for PostgreSQL 时,已知限制包括:

  • 迁移最终会保持一致,并且不会在发生时复制每个事务。迁移会导入多个表中的数据。数据加载到目标位置的顺序可能会有所不同,但在停止对源进行写入并清除迁移缓冲区后,将与源保持一致。
  • 如果事务足够长,则所有已回滚的事务都可能会暂时显示在目标位置。为减少延迟,系统可以在提交事务之前迁移 Oracle 数据库重做日志文件中的数据,并会在事务回滚时将其移除。
  • 不支持 SAVEPOINT 语句,如果发生回滚,可能会导致数据差异。
  • 目标中的所有表都应具有主键。如果源中某个表没有主键,则应使用迁移没有主键的表中的某个选项创建主键。
  • 在迁移期间,对数据、架构和元数据进行数据定义语言 (DDL) 更改不受支持。对于架构更改,请根据新架构更新转换工作区,然后更新相关的迁移作业
  • 迁移开始后创建的任何表都不会自动迁移。首先,必须在目标位置创建表,然后必须使用经过修改的表列表更新转换工作区。
  • 不支持数据类型为 ANYDATALONG/LONG RAWNCLOBUDTUROWIDXMLTYPE 的任何数据库表列,这些列会替换为 NULL 值。
  • 不支持 DATEDATETIME 数据类型中的零日期。零日期会替换为 NULL 值。
  • 对于 Oracle 11g,不支持数据类型为 ANYDATAUDT 的任何数据库表列,并且不会复制整个表。
  • 不支持索引整理表 (IOT)。
  • 对于数据库表列(数据类型为 BFILE),只会复制文件路径。不复制文件的内容。
  • 不复制 Oracle 标签安全 (OLS)。
  • 不会迁移序列值。手动设置序列号,以避免与复制的数据发生数据冲突。