我使用DMS将数据从Oracle DB迁移到AWS S3,在其中一个表中的Oracle DB中,列的数据类型为Long,但DMS在读取并传输到S3时,在日志中获得以下消息,替换实际的列和表定义名称。
已从表定义"sample_table"中删除列"sample_Column":列数据类型为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数据类型。
因此,类型转换似乎是意料之中的事,而真正的问题是表上没有主键。