数据治理中心 DATAARTS STUDIO-Oracle同步到MRS Hudi作业配置:注意事项

时间:2025-01-23 11:56:27

注意事项

除了数据源版本、连接账号权限及同步对象范围外,您还需要注意的事项请参见下表。

表4 注意事项

类型名称

使用和操作限制

数据库限制

目标数据库中的库名、表名、字段名仅支持数字、字母和下划线,且字段名必须以字母或下划线开头,建议尽量使用常规字符避免任务失败。

使用限制

通用:

  • 实时同步过程中,不支持IP、端口、账号、密码修改。
  • Oracle归档日志建议保留3天以上。
  • 禁止对Oracle源库做resetlogs操作,否则会导致数据无法同步且任务无法恢复。
  • 不支持修改源数据库Oracle用户名(SCHEMA名),包括11.2.0.2之前版本通过修改USER$字典表方式及11.2.0.2之后通过ALTER USER username RENAME TO new_username修改SCHEMA名称的场景。
  • Oracle为源端时,暂不支持迁移CLOB、NCLOB和BLOB类型。
  • Oracle为源端时,暂不支持Oracle RAC集群。
  • Hudi表使用Bucket索引的场景下不允许更新分区键,否则可能产生重复数据。
  • Hudi表使用Bucket索引的场景下主键仅保证单分区内唯一。
  • 本链路所使用的Hudi表需带有3个审计字段:cdc_last_update_date、logical_is_deleted、_hoodie_event_time,并会以_hoodie_event_time作为Hudi表的预聚合键。因此,若使用已存在的表,也需要携带这3个审计字段,否则可能导致任务异常。
    • cdc_last_update_date:Migration任务处理CDC数据的时间。
    • logical_is_deleted:逻辑删除标志。
    • _hoodie_event_time:数据在Oracle CDC中的时间戳。

全量同步阶段:

任务启动和全量数据同步阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。

增量同步阶段:

  • 支持DML:包括INSERT、UPDATE、DELETE。
  • 支持的DDL:新增列。
  • 不支持混合分区表。混合分区表中的外部分区数据变更不产生DML日志,增量数据同步时无法获取变更信息,会存在数据不一致的风险。
  • 表名和列名长度限制为30个字符。Oracle日志读取采用Oracle logminer,logminer限制了表名和列名在30个字符以内,详情请参见LogMiner分析日志相关介绍

常见故障排查:

在任务创建、启动、全量同步、增量同步、结束等过程中,如有遇到问题,可先参考常见问题章节进行排查。

其他限制

  • 支持目标数据库中的表比源数据库多列场景,但是需要避免以下场景可能导致的任务失败。

    目标数据库多的列要求非空且没有默认值,源数据库insert数据,同步到目标数据库后多的列为null,不符合目标数据库要求。

  • Oracle中表结构长度(所有列长字节数之和,char、varchar2等类型字节长度和编码有关)超过65535时,可能导致同步失败。
  • 当使用PDB数据库同步时,由于Oracle LogMiner组件的限制,增量同步时必须打开全部PDB。
  • Oralce 12.2及以上版本,由于Oracle LogMiner组件的限制,增量同步不支持表名或列名超过30个字符。
  • Oracle为源端时全量+增量或增量作业,如果需要同步PDB库中的表,Oracle连接中需要填写CDB库的用户名和密码,不能为PDB用户名和密码,因为Oracle日志统一在存储在CDB库中,同时Oracle logminer只能运行在CDB库中。
support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_7710.html