问题描述
我正在使用 DMS 将数据从 Oracle DB 迁移到 AWS S3,在其中一个表的 Oracle DB 中,该列的数据类型为 Long,但 dms 在读取和传输到 S3 时在日志中收到以下消息,替换实际的列和表定义名称。
列“sample_column”已从表定义“sample_table”中删除:列数据类型为 LOB,表没有主键或唯一索引。
但我验证了 sample_column 的源数据类型是 Long。
我该如何解决这个问题?
解决方法
来自文档:https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html
Oracle 数据类型:LONG
AWS DMS 数据类型:CLOB
批量优化应用模式不支持 LONG 数据类型 (TurboStream CDC 模式)。要将此数据类型用于 AWS DMS,您必须 为特定任务启用 LOB。在 CDC 期间,AWS DMS 仅在具有主键的表中支持 LOB 数据类型。
所以类型转换似乎是意料之中的,这里真正的问题是你在表上没有主键。