暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Sloth助力Oralce平滑迁移至GoldenDB

Whill 2025-01-20
357

Sloth 是专注于异构或同构数据库与 GoldenDB 分布式数据进行数据交互的专业服务与解决方案,旨在助力客户实现同构或异构数据库向 GoldenDB 的实时数据迁移和数据同步。Sloth 迁移或同步解决方案,配置流程简单便捷、风险低、运维成本低、可靠性高、性能突出。

Sloth 集编排、管控、运维于一体,助力客户便捷编排需要的任务,支持管理、维护历史任务,提供任务监控、性能视图、表画像等能力。

背景信息

在控制台创建 Oracle 数据库迁移数据至 GoldenDB 数据库的迁移任务,可以通过创建全量任务将源端数据库的存量业务数据迁到 GoldenDB 数据库中。支持源端为单主库、单备库、主备库。

前提条件

为源端 Oracle 和目标端 GoldenDB 创建专用于数据迁移项目的数据库用户,并为其赋予相关权限。相关权限说明参考 数据库权限准备 。

使用限制

  • 源端数据库在迁移过程中请勿执行表结构变更的 DDL 语句,否则可能造成数据迁移该表的失败;
  • 在迁移过程中请关闭目标端的外键与触发器;
  • 目前支持的 Oracle 数据库版本为 11G、 12C、 18C和 19C;
  • 仅支持库名、表名和列名为 ASCII 码且不包含特殊字符(包括.-;|)的命名;
  • 索引组织表不保证数据正确性。

数据类型映射

ORACLE 数据库GoldenDB 数据库
INTEGERINTEGER
NUMBER(3)TINYINT
NUMBER(7)MEDIUMINT
NUMBER(20)BIGINT
NUMBER(5)SMALLINT
DECIMALDECIMAL(38,30)
NUMBERDECIMAL(38,10)
FLOATDECIMAL(63,10)
REALDECIMAL(63,10)
DOUBLE PRECISIONDECIMAL(38,10)
RAWBLOB
CHARCHAR
VARCHAR2VARCHAR
BINARY_DOUBLEDECIMAL(38,10)
BINARY_FLOATDECIMAL(38,10)
VARBINARYVARBINARY
BLOBBLOB
CLOBTEXT
DATEDATETIME
LONGLONGTEXT
TIMESTAMP(6)DATETIME

操作步骤

  1. 创建迁移任务

    1)登录 SM 控制台。

    2)在左侧导航栏,点击 任务管理 下面的 任务列表 

    3)在任务列表页面,点击右上角上面的 新增 ,新增一个同步任务。

  2. 在新建任务中,选择源端和目标端后,配置各项参数

    参数

    描述

    任务名称

    任务名的名称,使用字符串进行命名。

    源数据库

    在下拉框中选择要进行同步的源端数据源,需要先在数据源中创建数据源。

    目标数据库

    在下拉框中选择要进行同步的目标端数据源,需要先在数据源中创建数据源。

    同步类型

    迁移直接选择全量。

    是否开启比对

    选择是时,在全量迁移过程中进行数据比对,选择否时,在全量迁移过程中不进行数据比对。

    是否对象迁移

    在全量迁移前是否先做结构迁移,选择是,迁移前进行结构迁移,选择否,不需要做结构迁移。若选择不进行结构迁移,则需要保证目标端存在需要同步的库表结构,否则在迁移回放过程中直接报错,且将该表加入黑名单中。

    是否自动绑定组件

    任务在创建完成后是否自动绑定采集回放组件,如果选择是,则会自动绑定采集回放组件,如果选择否后再保存任务,在组件功能菜单上面需要手动去选择要做迁移任务的采集回放组件,否则无法启动任务。选择开启比对后,比对组件也需要自动绑定或者手动绑定。

    同步白名单

    配置需要同步库表信息,表名分号分隔,支持正则语法。库表名以实际为准。

    同步黑名单

    配置不要同步库表信息,表名分号分隔,支持正则语法。库表名以实际为准。对于某张表既满足白名单又在黑名单里面,则该张表不会进行数据同步。

  3. 点击 下一步 ,处理基础配置信息

    参数

    描述

    PDB名称

    Oracle PDB名称。选填,当前仅展示

    是否可持续运行

    选择是,当前表采集结束后任务不会完成,可以在表画像界面选择继续加表进行全量迁移,或在任务管理界面点击结束,点击结束后所有表采集完成后任务结束。

    映射规则

    选择该任务配置的库表列映射规则,库表列映射规则需提前配置。

    是否保存全量快照点

    如果该全量完成后,后期需要做增量任务,则需要记录全量时的快照点信息,选择是,则记录该全量快照点信息,选择否,则不记录。

    全量采集总并行度

    所有的采集线程数。

    全量采集表间并发数

    在采集时,对于每张表的数据抽取时,每张表的抽取并发度。如需提升性能,可以适度提高该值。

    表分段的每段大小

    在采集某张表时对表进行拆分采集,每一段拆分的数据量大小,提升性能使用。

    回放唯一性重复处理方式

    遇到目的端主键冲突时处理方式,分为忽略/替换/日志写入/中止退出4种方式,默认为替换。

  4. 选择是否做 可行性检查

  5. 点击 源端高级配置

    参数

    描述

    NULL值转换

    开启后,若值为null则进行转换,数字类型默认值为0,字符类型默认值为空格。

    Hex转换

    开启后,各组件按照列类型做hex转换。

    比对基准列

    指定任务级比对基准列用于比对校验,需要填写源端自定义列名并配置两端自定义列名映射。

    源端Oracle服务端编码配置

    源端Oracle服务端编码。

    源端Oracle客户端编码配置

    业务向数据库插入数据时的字符集。

  6. 点击 目标端高级配置

    参数

    描述

    大小写敏感

    是否开启库名、表名、列名的大小写敏感。

    自定义rowid

    自定义rowid隐藏列,默认为sloth_rowid。

  7. 配置完成后,点击 保存

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论