Oracle 评测 - Amazon Database Migration Service
验证仅在启用 BatchApplyEnabled 时才使用受限 LOB 模式 验证源上的表是否包含不带小数位数(为 NUMBER 数据类型指定)的列 验证目标数据库上的触发器 验证源是否将归档日志 DEST_ID 设置为 0 验证在完全加载期间目标数据库上是否启用了二级索引 验证具有 BatchApplyEnabled 的 DMS 任务范围内使用的表是否包含超过 999 列选中数据库级别补充日志记录验证是否为备用数据库创建了所需的数据库链接Oracle 验证 LOB 数据类型以及是否已配置二进制读取器验证数据库是否为 CDB查看 Oracle 数据库版本DMS 验证 Oracle CDC 的方法DMS 验证 Oracle RAC 配置验证 DMS 用户是否对目标拥有权限验证是否所有列都需要补充日志记录验证是否对具有主键或唯一键的表启用了补充日志记录验证是否存在 SecureFile LOB 以及任务是否已配置为完整 LOB 模式验证任务范围内的表中是否正在使用基于函数的索引。验证任务范围内的表是否正在使用全局临时表。验证任务范围内的表中是否正在使用具有溢出段且按索引组织的表。验证任务范围内的表中是否使用了多级嵌套表。 验证任务范围内的表中是否使用了不可见的列。验证任务范围内的表中是否使用了基于 ROWID 列的实体化视图。验证是否使用了 Active Data Guard DML 重定向特征。验证是否使用了混合分区表。验证是否使用了仅架构的 Oracle 账户验证是否使用了虚拟列验证任务范围内定义的表名是否包含撇号。 验证任务范围内定义的列是否具有 XMLType、Long 或 Long Raw 数据类型,并在任务设置中验证 LOB 模式配置。验证源 Oracle 版本是否受 Amazon DMS 支持。验证目标 Oracle 版本是否受 Amazon DMS 支持。验证 DMS 用户是否拥有使用数据验证所需的权限。验证 DMS 用户是否拥有在 Oracle ASM 上使用 Binary Reader 的权限验证 DMS 用户是否拥有在 Oracle 非 ASM 上使用 Binary Reader 的权限验证 DMS 用户是否拥有将 Binary Reader 与 CopyToTempFolder 方法结合使用的权限验证 DMS 用户是否拥有使用 Oracle Standby 作为源的权限验证 DMS 源是否已连接到应用程序容器 PDB 验证任务范围内的表是否具有 XML 数据类型。验证源数据库上是否启用了归档日志模式。验证 RDS Oracle 的归档日志保留期。验证任务范围内的表是否具有扩展数据类型。验证任务范围内的对象名称的长度。验证 DMS 源是否已连接到 Oracle PDB验证任务范围内的表是否包含空间列。验证 DMS 源是否已连接到 Oracle Standby。验证源数据库表空间是否使用 TDE 进行加密。验证源数据库是否为 Oracle ASM验证是否启用了批量应用,以及目标 Oracle 数据库上的表是否在表或索引级别启用了并行性。通过验证任务范围内的表来推荐“批量数组大小”参数。验证 HandleCollationDiff 任务设置是否已配置启用 DMS 验证后,验证表是否有主键或唯一索引以及其状态是否为有效验证 Binary Reader 是否作为源用于 Oracle Standby验证 Amazon DMS 用户是否具有从 Oracle RDS 备用数据库复制数据所需的目录权限。验证用于复制的 Oracle Standby 的类型验证是否为 RDS Oracle 备用数据库创建了所需的目录验证批量应用的目标上是否存在主键或唯一索引验证批量应用的目标上是否同时存在主键和唯一索引验证是否使用了不支持的 HCC 级别进行完全加载验证完全加载和 CDC 是否使用了不受支持的 HCC 级别。验证是否不支持对 CDC 使用的 HCC 压缩基于源压缩方法的 CDC 推荐检查是否启用了批量应用并验证表的列数是否超过 999 个检查数字随机化的转换规则查看数字掩码的转换规则查看哈希掩码的转换规则确认数据验证任务设置和数据掩蔽数字随机化未同时启用确认数据验证任务设置和数据掩蔽哈希掩码未同时启用确认数据验证任务设置和数据掩蔽数字掩码未同时启用验证到流目标的复制是否包含 LOB 或扩展数据类型列。验证仅限 CDC 的任务是否配置为使用 OpenTransactionWindow 端点设置。
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Oracle 评测

有关使用 Oracle 作为源时权限的更多信息,请参阅Amazon DMS 的自管理 Oracle 源上所需的用户账户权限用于 Amazon DMS 的 Amazon 托管 Oracle 源所需的用户账户权限

注意

本节介绍使用 Oracle 作为 Amazon DMS 的源或目标的迁移任务的各项迁移前评测。

如果您使用自管理 Oracle 数据库作为 Amazon DMS 的源,请使用以下权限集:

grant select on gv_$parameter to dms_user; grant select on v_$instance to dms_user; grant select on v_$version to dms_user; grant select on gv_$ASM_DISKGROUP to dms_user; grant select on gv_$database to dms_user; grant select on DBA_DB_LINKS to to dms_user; grant select on gv_$log_History to dms_user; grant select on gv_$log to dms_user; grant select on dba_types to dms_user; grant select on dba_users to dms_user; grant select on dba_directories to dms_user; grant execute on SYS.DBMS_XMLGEN to dms_user;

如果您使用自管理 Oracle 数据库作为 Amazon DMS Serverless 的源,则需要额外的权限:

grant select on dba_segments to dms_user; grant select on v_$tablespace to dms_user; grant select on dba_tab_subpartitions to dms_user; grant select on dba_extents to dms_user;

如果您使用 Amazon 托管 Oracle 数据库作为 Amazon DMS 的源,请使用以下权限集:

EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$PARAMETER', 'dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$INSTANCE', 'dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$VERSION','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$ASM_DISKGROUP','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$DATABASE','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_DB_LINKS','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$LOG_HISTORY','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('GV_$LOG','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_TYPES','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_USERS','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_DIRECTORIES','dms_user', 'SELECT'); GRANT SELECT ON RDSADMIN.RDS_CONFIGURATION to dms_user; GRANT EXECUTE ON SYS.DBMS_XMLGEN TO dms_user;

如果您使用 Amazon 托管 Oracle 数据库作为 Amazon DMS Serverless 的源,则需要额外的权限:

EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_SEGMENTS','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_TAB_SUBPARTITIONS','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('DBA_EXTENTS','dms_user', 'SELECT'); EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$TABLESPACE','dms_user', 'SELECT');

如果您使用自管理 Oracle 数据库作为 Amazon DMS 的目标,请使用以下权限集:

grant select on v_$instance to dms_user; grant execute on SYS.DBMS_XMLGEN to dms_user;

如果您使用 Amazon 托管 Oracle 数据库作为 Amazon DMS 的目标,请使用以下权限集:

EXEC RDSADMIN.RDSADMIN_UTIL.GRANT_SYS_OBJECT('V_$INSTANCE', 'dms_user', 'SELECT'); GRANT EXECUTE ON SYS.DBMS_XMLGEN TO dms_user;
主题

验证仅在启用 BatchApplyEnabled 时才使用受限 LOB 模式

API 密钥:oracle-batch-apply-lob-mode

此迁移前评测可验证 DMS 任务中的表是否包含 LOB 列。如果 LOB 列包含在任务范围内,则只能在受限 LOB 模式下使用 BatchApplyEnabled

有关更多信息,请参阅目标元数据任务设置

验证源上的表是否包含不带小数位数(为 NUMBER 数据类型指定)的列

API 密钥:oracle-number-columns-without-scale

此迁移前评测可验证 DMS 任务是否包含未指定小数位数的 NUMBER 数据类型的列。建议您将端点设置 NumberDataTypeScale 设为评测报告中指定的值。

有关更多信息,请参阅使用 Oracle 作为 Amazon DMS 的源时的端点设置

验证目标数据库上的触发器

API 密钥:oracle-target-triggers-are-enabled

此迁移前评测可验证目标数据库上是否启用了触发器。如果启用了触发器,评测将失败。建议在迁移期间禁用或删除触发器。

有关更多信息,请参阅 DMS 最佳实践

验证源是否将归档日志 DEST_ID 设置为 0

API 密钥:oracle-zero-archive-log-dest-id

此迁移前评测可验证,在归档日志 DEST_ID 设置为 0 的情况下,是否为源设置了端点额外连接属性 useZeroDestid=true

有关更多信息,请参阅在失效转移场景中与 Oracle 数据库一起使用时如何处理 Amazon DMS 复制

验证在完全加载期间目标数据库上是否启用了二级索引

API 密钥:oracle-check-secondary-indexes

此迁移前评测可验证完全加载期间目标数据库上是否启用了二级索引。建议您在完全加载期间禁用或删除二级索引。

有关更多信息,请参阅 Amazon Database Migration Service 的最佳实践

验证具有 BatchApplyEnabled 的 DMS 任务范围内使用的表是否包含超过 999 列

API 密钥:oracle-batch-apply-lob-999

启用了批量优化应用模式的表的总列数不能超过 999。列数超过 999 的表将导致 Amazon DMS 逐一处理批次,从而增加延迟。DMS 使用公式 2 * columns_in_original_table + columns_in_primary_key <= 999 来计算批量优化应用模式支持的每个表的总列数。

有关更多信息,请参阅将 Oracle 作为 Amazon Database Migration Service 目标的限制

选中数据库级别补充日志记录

API 密钥:oracle-supplemental-db-level

此迁移前评估将验证是否在数据库级别启用了最低限度的补充日志记录。必须启用补充日志记录才能使用 Oracle 数据库作为迁移源。

要启用补充日志记录,使用以下查询:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA

有关更多信息,请参阅 设置补充日志记录

此评估仅对完全加载迁移和 CDC 迁移或仅 CDC 迁移有效。此评估对仅完全加载迁移无效。

API 密钥:oracle-validate-standby-dblink

此迁移前评估将验证是否为 Oracle 备用数据库源创建了 Dblink。AWSDMS_DBLINK 是使用备用数据库作为源的先决条件。使用 Oracle Standby 作为源时,默认情况下Amazon DMS 不验证未完成事务。

有关更多信息,请参阅 将自管理 Oracle 数据库作为 Amazon DMS 的源

此评估仅对完全加载迁移和 CDC 迁移或仅 CDC 迁移有效。此评估对仅完全加载迁移无效。

Oracle 验证 LOB 数据类型以及是否已配置二进制读取器

API 密钥:oracle-binary-lob-source-validation

此迁移前评估将验证 Oracle LogMiner 是否用于版本 12c 或更高版本的 Oracle 数据库端点。Amazon DMS 不支持 Oracle LogMiner 从 Oracle 数据库版本 12c 迁移 LOB 列。该评估还会检查 LOB 列是否存在,并提供适当的建议。

要将您的迁移配置为不使用 Oracle LogMiner,请将以下配置添加到您的源端点:

useLogMinerReader=N;useBfile=Y;

有关更多信息,请参阅 将 Oracle LogMiner 或 Amazon DMS Binary Reader 用于 CDC

此评估仅对完全加载迁移和 CDC 迁移或仅 CDC 迁移有效。此评估对仅完全加载迁移无效。

验证数据库是否为 CDB

API 密钥:oracle-validate-cdb

此迁移前评估会验证数据库是否为容器数据库。Amazon DMS 不支持多租户容器根数据库(CDB$ROOT)。

注意

只有 Oracle 版本 12.1.0.1 或更高版本需要进行此评估。此评估不适用于 12.1.0.1 之前的 Oracle 版本。

有关更多信息,请参阅 将 Oracle 作为 Amazon DMS 源的限制

此评估仅对完全加载迁移和 CDC 迁移或仅 CDC 迁移有效。此评估对仅完全加载迁移无效。

查看 Oracle 数据库版本

API 密钥:oracle-check-cdc-support-express-edition

此迁移前评估会验证 Oracle 源数据库是否为 Express Edition。对于 Oracle Express Edition(Oracle Database XE)版本 18.0 及更高版本,Amazon DMS 不支持 CDC。

此评估仅对完全加载迁移和 CDC 迁移或仅 CDC 迁移有效。此评估对仅完全加载迁移无效。

DMS 验证 Oracle CDC 的方法

API 密钥:oracle-recommendation-cdc-method

此迁移前评估会验证前七天的重做日志生成,并建议是使用 Amazon DMS 二进制阅读器还是 Oracle LogMiner for CDC。

此评估仅对完全加载迁移和 CDC 迁移或仅 CDC 迁移有效。此评估对仅完全加载迁移无效。

有关决定使用哪种 CDC 方法的更多信息,请参阅将 Oracle LogMiner 或 Amazon DMS Binary Reader 用于 CDC

DMS 验证 Oracle RAC 配置

API 密钥:oracle-check-rac

此迁移前评估会验证 Oracle 数据库是否为 Real Application Cluster。必须正确配置 Real Application Cluster 数据库。如果数据库基于 RAC,我们建议您使用适用于 CDC 的 Amazon DMS 二进制读取器而不是 Oracle LogMiner。

此评估仅对完全加载迁移和 CDC 迁移或仅 CDC 迁移有效。此评估对仅完全加载迁移无效。

有关更多信息,请参阅 将 Oracle LogMiner 或 Amazon DMS Binary Reader 用于 CDC

验证 DMS 用户是否对目标拥有权限

API 密钥:oracle-validate-permissions-on-target

此迁移前评测可验证 DMS 用户是否对目标数据库拥有所有必需权限。

验证是否所有列都需要补充日志记录

API 密钥:oracle-validate-supplemental-logging-all-columns

此迁移前评测可验证,对于提及的任务范围内的表,是否已向没有主键或唯一键的表的所有列添加了补充日志记录。如果不对缺少主键或唯一键的表的所有列进行补充日志记录,则重做日志将不提供数据的前后图像。DMS 需要对没有主键或唯一键的表进行补充日志记录,才能生成 DML 语句。

验证是否对具有主键或唯一键的表启用了补充日志记录

API 密钥:oracle-validate-supplemental-logging-for-pk

此迁移前评测可验证是否为具有主键或唯一索引的表启用了补充日志记录,还可检查是否在端点级别启用了 AddSupplementalLogging。为确保 DMS 能够复制更改,您可以根据主键或唯一键在表级别手动添加补充日志记录,也可以使用端点设置 AddSupplementalLogging = true,让 DMS 用户对任何复制的表都拥有 ALTER 权限。

验证是否存在 SecureFile LOB 以及任务是否已配置为完整 LOB 模式

API 密钥:oracle-validate-securefile-lobs

此迁移前评测可检查任务范围内的表中是否存在 SecureFile LOB,并验证其 LOB 设置。值得注意的是,目前仅在完整 LOB 模式下支持 SecureFile LOB。考虑将 LOB 表分配给单独的任务以提高性能,因为在完整 LOB 模式下运行任务可能会导致性能降低。

验证任务范围内的表中是否正在使用基于函数的索引。

API 密钥:oracle-validate-function-based-indexes

此迁移前评测可检查任务范围内的表中是否存在基于函数的索引。请注意,Amazon DMS 不支持复制基于函数的索引。考虑在目标数据库上的迁移完成后创建索引。

验证任务范围内的表是否正在使用全局临时表。

API 密钥:oracle-validate-global-temporary-tables

此迁移前评测可检查任务表映射范围内是否使用了全局临时表。请注意,Amazon DMS 不支持迁移或复制全局临时表。

验证任务范围内的表中是否正在使用具有溢出段且按索引组织的表。

API 密钥:oracle-validate-iot-overflow-segments

验证任务范围内的表中是否正在使用具有溢出段且按索引组织的表。Amazon DMS 不支持对具有溢出段且按索引组织的表执行 CDC。

验证任务范围内的表中是否使用了多级嵌套表。

API 密钥:oracle-validate-more-than-one-nesting-table-level

此迁移前评测可检查任务范围内使用的嵌套表的嵌套级别。Amazon DMS 仅支持一个级别的表嵌套。

验证任务范围内的表中是否使用了不可见的列。

API 密钥:oracle-validate-invisible-columns

此迁移前评测可验证任务范围内使用的表中是否包含不可见的列。Amazon DMS 不会迁移源数据库中不可见列的数据。要迁移不可见的列,您需要将其修改为可见。

验证任务范围内的表中是否使用了基于 ROWID 列的实体化视图。

API 密钥:oracle-validate-rowid-based-materialized-views

此迁移前评测可验证迁移中使用的实体化视图是否是基于 ROWID 列而创建。Amazon DMS 不支持 ROWID 数据类型或基于 ROWID 列的实体化视图。

验证是否使用了 Active Data Guard DML 重定向特征。

API 密钥:oracle-validate-adg-redirect-dml

此迁移前评测可验证是否使用了 Active Data Guard DML 重定向特征。使用 Oracle 19.0 作为源时,Amazon DMS 不支持 Data Guard DML 重定向特征。

验证是否使用了混合分区表。

API 密钥:oracle-validate-hybrid-partitioned-tables

此迁移前评测可验证是否对任务范围内定义的表使用了混合分区表。

验证是否使用了仅架构的 Oracle 账户

API 密钥:oracle-validate-schema-only-accounts

此迁移前评测可验证任务范围内是否存在仅架构的账户。

验证是否使用了虚拟列

API 密钥:oracle-validate-virtual-columns

此迁移前评测可验证 Oracle 实例在任务范围内的表中是否有虚拟列。

验证任务范围内定义的表名是否包含撇号。

API 密钥:oracle-validate-names-with-apostrophes

此迁移前评测可验证任务范围内使用的表是否包含撇号。Amazon DMS 不会复制名称中包含撇号的表。如果识别了这样的表,请考虑将其重命名。或者,也可以创建不带撇号的视图或实体化视图来加载这些表。

验证任务范围内定义的列是否具有 XMLTypeLongLong Raw 数据类型,并在任务设置中验证 LOB 模式配置。

API 密钥:oracle-validate-limited-lob-mode-for-longs

此迁移前评测可验证任务范围内定义的表是否具有 XMLTypeLongLong Raw,并检查任务设置是否配置为使用有限大小 LOB 模式。Amazon DMS 不支持使用完整 LOB 模式复制这些数据类型。如果识别了具有这些数据类型的表,请考虑将任务设置更改为使用有限大小 LOB 模式。

验证源 Oracle 版本是否受 Amazon DMS 支持。

API 密钥:oracle-validate-supported-versions-of-source

此迁移前评测可验证源 Oracle 实例版本是否受 Amazon DMS 支持。

验证目标 Oracle 版本是否受 Amazon DMS 支持。

API 密钥:oracle-validate-supported-versions-of-target

此迁移前评测可验证目标 Oracle 实例版本是否受 Amazon DMS 支持。

验证 DMS 用户是否拥有使用数据验证所需的权限。

API 密钥:oracle-prerequisites-privileges-of-validation-feature

此迁移前评测可验证 DMS 用户是否拥有使用 DMS 数据验证的必要权限。如果您不打算使用数据验证,则可以忽略启用此验证。

验证 DMS 用户是否拥有在 Oracle ASM 上使用 Binary Reader 的权限

API 密钥:oracle-prerequisites-privileges-of-binary-reader-asm

此迁移前评测可验证 DMS 用户是否拥有在 Oracle ASM 实例上使用 Binary Reader 的必要权限。如果源不是 Oracle ASM 实例,或者您没有使用 Binary Reader 执行 CDC,则可以忽略启用此评测。

验证 DMS 用户是否拥有在 Oracle 非 ASM 上使用 Binary Reader 的权限

API 密钥:oracle-prerequisites-privileges-of-binary-reader-non-asm

此迁移前评测可验证 DMS 用户是否拥有在 Oracle 非 ASM 实例上使用 Binary Reader 的必要权限。只有当您拥有 Oracle 非 ASM 实例时,此评测才有效。

验证 DMS 用户是否拥有将 Binary Reader 与 CopyToTempFolder 方法结合使用的权限

API 密钥:oracle-prerequisites-privileges-of-binary-reader-copy-to-temp-folder

此迁移前评测可验证 DMS 用户是否拥有将 Binary Reader 与“Copy to Temp Folder”方法结合使用的必要权限。只有当您计划在使用 Binary Reader 的同时使用 CopyToTempFolder 读取 CDC 更改并将 ASM 实例连接到源时,此评测才有意义。如果您不打算使用 CopyToTempFolder 特征,则可以忽略启用此评测。

建议不要使用 CopyToTempFolder 特征,因为它已被弃用。

验证 DMS 用户是否拥有使用 Oracle Standby 作为源的权限

API 密钥:oracle-prerequisites-privileges-of-standby-as-source

此迁移前评测可验证 DMS 用户是否拥有使用 Oracle Standby 实例作为源的必要权限。如果您不打算使用 Oracle StandBy 实例作为源,则可以忽略启用此评测。

验证 DMS 源是否已连接到应用程序容器 PDB

API 密钥:oracle-check-app-pdb

此迁移前评测可验证 DMS 源是否已连接到应用程序容器 PDB。DMS 不支持从应用程序容器 PDB 复制。

验证任务范围内的表是否具有 XML 数据类型。

API 密钥:oracle-check-xml-columns

此迁移前评测可验证任务范围内使用的表是否具有 XML 数据类型。它还可检查当表包含 XML 数据类型时,任务是否配置为受限 LOB 模式。DMS 仅支持在受限 LOB 模式下迁移 Oracle XML 列。

验证源数据库上是否启用了归档日志模式。

API 密钥:oracle-check-archivelog-mode

此迁移前评测可验证源数据库上是否启用了归档日志模式。DMS 需要在源数据库上启用归档日志模式才能复制更改。

验证 RDS Oracle 的归档日志保留期。

API 密钥:oracle-check-archivelog-retention-rds

此迁移前评测可验证 RDS Oracle 数据库上的归档日志保留期是否配置为至少 24 小时。

验证任务范围内的表是否具有扩展数据类型。

API 密钥:oracle-check-extended-columns

此迁移前评测可验证任务范围内使用的表是否具有扩展数据类型。请注意,只有 DMS 版本 3.5 及更高版本支持扩展数据类型。

验证任务范围内的对象名称的长度。

API 密钥:oracle-check-object-30-bytes-limit

此迁移前评测可验证对象名称的长度是否超过 30 字节。DMS 不支持长对象名称(超过 30 个字节)。

验证 DMS 源是否已连接到 Oracle PDB

API 密钥:oracle-check-pdb-enabled

此迁移前评测可验证 DMS 源是否已连接到 PDB。仅当使用 Binary Reader 且以 Oracle PDB 作为源时,DMS 才支持 CDC。该评测还可评估任务是否配置为在 DMS 连接到 Oracle PDB 时使用 Binary Reader。

验证任务范围内的表是否包含空间列。

API 密钥:oracle-check-spatial-columns

此迁移前评测可验证任务范围内的表是否包含空间列。DMS 仅支持空间数据类型使用完整 LOB 模式。该评测还可评估 DMS 识别空间列时任务是否配置为使用完整 LOB 模式。

验证 DMS 源是否已连接到 Oracle Standby。

API 密钥:oracle-check-standby-db

此迁移前评测可验证源是否已连接到 Oracle Standby。仅当使用 Binary Reader 且以 Oracle Standby 作为源时,DMS 才支持 CDC。该评测还可评估任务是否配置为在 DMS 连接到 Oracle Standby 时使用 Binary Reader。

验证源数据库表空间是否使用 TDE 进行加密。

API 密钥:oracle-check-tde-enabled

此迁移前评测可验证源是否在表空间上启用了 TDE 加密。DMS 只在包含加密表空间并且使用适用于 RDS Oracle 的 Oracle LogMiner 时才支持 TDE。

验证源数据库是否为 Oracle ASM

API 密钥:oracle-check-asm

此迁移前评测可验证源是否使用 ASM。为了提高 ASM 配置的性能,请考虑在源端点设置中添加 parallelASMReadThreadsreadAheadBlocks

验证是否启用了批量应用,以及目标 Oracle 数据库上的表是否在表或索引级别启用了并行性。

API 密钥:oracle-check-degree-of-parallelism

Amazon DMS 会验证目标数据库中的表是否启用了任何并行性。在目标数据库上启用并行性会导致批处理失败。因此,在使用批量应用功能时,需要禁用表或索引级别的并行性。

通过验证任务范围内的表来推荐“批量数组大小”参数。

API 密钥:oracle-check-bulk-array-size

如果在任务范围内找不到具有 LOB(大型对象)数据类型的表,则此评测建议设置 BulkArraySize ECA(额外连接属性)。设置 BulkArraySize ECA 可以提高迁移完全加载阶段的性能。您可以使用源/目标端点上的 ECA 设置批量数组大小,以便在迁移的完全加载阶段获得最佳性能。

验证 HandleCollationDiff 任务设置是否已配置

API 密钥:oracle-check-handlecollationdiff

此评测会验证 DMS 任务是否配置为进行验证,并推荐 HandleCollationDiff 任务设置,以避免当在 Oracle 和 PostgreSQL 之间验证数据时出现任何错误的验证结果。

有关更多信息,请参阅 数据验证任务设置

启用 DMS 验证后,验证表是否有主键或唯一索引以及其状态是否为有效

API 密钥:oracle-check-pk-validity

数据验证要求表在源和目标上具有主键或唯一索引。

有关更多信息,请参阅 Amazon DMS 数据验证

验证 Binary Reader 是否作为源用于 Oracle Standby

API 密钥:oracle-check-binary-reader

此评测会验证源数据库是否为备用数据库并且使用 Binary Reader 进行更改数据捕获(CDC)。

有关更多信息,请参阅 将 Oracle 数据库作为 Amazon DMS 的源

验证 Amazon DMS 用户是否具有从 Oracle RDS 备用数据库复制数据所需的目录权限。

API 密钥:oracle-check-directory-permissions

当源数据库为 Oracle RDS 备用数据库时,此评测将验证 Amazon DMS 用户是否具有对 ARCHIVELOG_DIR_%ONLINELOG_DIR_% 目录所需的读取权限。

有关更多信息,请参阅 使用 Amazon 托管 Oracle 数据库作为 Amazon DMS 的源

验证用于复制的 Oracle Standby 的类型

API 密钥:oracle-check-physical-standby-with-apply

此评测将验证用于 Amazon DMS 复制的 Oracle 备用数据库的类型。Amazon DMS 仅支持物理备用数据库,这些数据库必须以只读模式打开,并自动应用重做日志。Amazon DMS 不支持快照或逻辑备用数据库进行复制。

有关更多信息,请参阅 将自管理 Oracle Standby 作为源与 Binary Reader 配合用于在 Amazon DMS 中执行 CDC

验证是否为 RDS Oracle 备用数据库创建了所需的目录

API 密钥:oracle-check-rds-standby-directories

此评测会验证是否为 RDS 备用实例上的存档日志和在线日志创建了所需的 oracle 目录。

有关更多信息,请参阅 将 Amazon RDS Oracle Standby(只读副本)作为源与 Binary Reader 配合用于在 Amazon DMS 中执行 CDC

验证批量应用的目标上是否存在主键或唯一索引

API 密钥:oracle-check-batch-apply-target-pk-ui-absence

只有目标表上有主键或唯一索引的表才支持批量应用。没有主键或唯一索引的表会导致批处理失败,将逐一处理更改。建议您将此类表移到各自的任务中,改用事务性应用模式。或者,也可以在目标表上创建唯一键。

有关更多信息,请参阅 将 Oracle 数据库作为 Amazon Database Migration Service 的目标

验证批量应用的目标上是否同时存在主键和唯一索引

API 密钥:oracle-check-batch-apply-target-pk-ui-simultaneously

只有目标表上有主键或唯一索引的表才支持批量应用。具有主键和唯一索引的表会同时导致批处理失败,将逐一处理更改。建议您将此类表移到各自的任务中,改用事务性应用模式。或者,如果您正在进行迁移,则可以在目标表上删除唯一键或主键,然后对其进行重建。

有关更多信息,请参阅 将 Oracle 数据库作为 Amazon Database Migration Service 的目标

验证是否使用了不支持的 HCC 级别进行完全加载

API 密钥:oracle-check-binary-reader-hcc-full-load

Oracle 源端点配置为使用 Binary Reader,只有满载任务才支持 HCC 压缩方法的 Query Low 级别。

有关更多信息,请参阅 使用 Oracle 作为 Amazon DMS 的源时支持的压缩方法

验证完全加载和 CDC 是否使用了不受支持的 HCC 级别。

API 密钥:oracle-check-binary-reader-hcc-full-load-and-cdc

当 Oracle 源端点配置为使用 Binary Reader 时,只有在满载任务中才支持使用 Query low 级别的 HCC。

使用 Oracle 作为 Amazon DMS 的源时支持的压缩方法

验证是否不支持对 CDC 使用的 HCC 压缩

API 密钥:oracle-check-binary-reader-hcc-cdc

Oracle 源端点配置为使用 Binary Reader。Binary Reader 不支持在执行 CDC 的任务中使用 QUERY LOW。

有关更多信息,请参阅 将 Oracle LogMiner 或 Amazon DMS Binary Reader 用于 CDC

基于源压缩方法的 CDC 推荐

API 密钥:oracle-recommend-cdc-method-by-compression

检测到压缩对象。请浏览特定评估的“结果”部分,获取更多建议。

有关更多信息,请参阅 将 Oracle LogMiner 或 Amazon DMS Binary Reader 用于 CDC

检查是否启用了批量应用并验证表的列数是否超过 999 个

API 密钥:oracle-batch-apply-lob-999

DMS 使用 2 * columns_in_original_table + columns_in_primary_key 公式来确定客户表中的列数。基于此公式,我们确定了列数超过 999 列的表。这会影响批处理,导致批处理失败并切换到逐一模式。

有关更多信息,请参阅 将 Oracle 作为 Amazon Database Migration Service 目标的限制

检查数字随机化的转换规则

API 密钥oracle-datamasking-digits-randomize

此评测会验证表映射中使用的列是否与“数字随机化”转换规则兼容。此外,此评测还会检查选择进行转换的任何列是否为主键、唯一约束或外键的一部分,因为应用“数字随机化”转换并不能保证任何唯一性。

查看数字掩码的转换规则

API 密钥oracle-datamasking-digits-mask

此评测会验证“数字掩码”转换规则是否不支持表映射中使用的任何列。此外,此评测还会检查选择进行转换的任何列是否为主键、唯一约束或外键的一部分,因为对此类列应用“数字掩码”转换可能会导致 DMS 任务失败,因为无法保证唯一性。

查看哈希掩码的转换规则

API 密钥oracle-datamasking-hash-mask

此评测会验证“哈希掩码”转换规则是否不支持表映射中使用的任何列。它还会检查源列的长度是否超过 64 个字符。理想情况下,目标列长度应大于 64 个字符以支持哈希掩码。此外,此评测还会检查选择进行转换的任何列是否为主键、唯一约束或外键的一部分,因为应用“数字随机化”转换并不能保证任何唯一性。

确认数据验证任务设置和数据掩蔽数字随机化未同时启用

API 密钥all-to-all-validation-with-datamasking-digits-randomize

此迁移前评测可验证数据验证设置和数据掩蔽数字随机化是否同时启用,因为这些功能不兼容。

确认数据验证任务设置和数据掩蔽哈希掩码未同时启用

API 密钥all-to-all-validation-with-datamasking-hash-mask

此迁移前评测可验证数据验证设置和数据掩蔽哈希掩码是否同时启用,因为这些功能不兼容。

确认数据验证任务设置和数据掩蔽数字掩码未同时启用

API 密钥all-to-all-validation-with-digit-mask

此迁移前评测可验证数据验证设置和数据掩蔽数字掩码是否同时启用,因为这些功能不兼容。

验证到流目标的复制是否包含 LOB 或扩展数据类型列。

API 密钥oracle-validate-lob-to-streaming-target

此评测可识别在将 LOB 或扩展数据类型迁移到流目标端点(例如 S3、Kinesis 或 Kafka)时可能丢失的数据。Oracle 数据库不会在其日志文件中跟踪这些数据类型的更改,从而导致 DMS 向流目标写入 NULL 值。为防止数据丢失,可以在源数据库上实现“before”触发器,以强制 Oracle 记录这些更改。

验证仅限 CDC 的任务是否配置为使用 OpenTransactionWindow 端点设置。

API 密钥oracle-check-cdc-open-tx-window

对于仅 CDC 任务,请使用 OpenTransactionWindow 来避免丢失数据。有关更多信息,请参阅使用 Amazon DMS 为持续复制创建任务