微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我正在使用 AWS DMS 将数据从 oracle 迁移到 s3,DMS 正在将 LONG 数据类型读取为 LOB 并跳过整个列和数据

如何解决我正在使用 AWS DMS 将数据从 oracle 迁移到 s3,DMS 正在将 LONG 数据类型读取为 LOB 并跳过整个列和数据

我正在使用 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 数据类型。

所以类型转换似乎是意料之中的,这里真正的问题是你在表上没有主键。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。