MySQL/PostgreSQL/Oracle到OceanBase数据迁移同步

# 简述

CloudCanal 2.2.0.7 版本开始支持 OceanBase 作为对端的数据迁移同步能力

本文通过 MySQL->OceanBase的数据迁移同步案例简要介绍这个源端的能力。链路特点:

- 结构迁移、全量迁移、增量同步(数据)
- 流程全自动化
- 高度产品化:任务管理、监控、审计一应俱全

# 使用须知

- 仅支持 OceanBases MySQL 模式
- 支持的源端数据源类型为 Oracle/PostgreSQL/MySQL,本文主要以 MySQL 源端为例说明使用方法。
- DDL同步当前仅支持 MySQL->OceanBase

# 技术点

## 面向在线业务的编辑订阅能力

数据长周期增量同步过程中,常有订阅表增减的情况,CloudCanal **编辑订阅** 能力,可在原有任务基础上进行变更。其中新增表会产生一个子任务,自动完成数据全量迁移和增量同步,然后和原有主任务合并,自动完成整个过程。
![截屏2022-03-04 上午10.47.57.png](https://www.askcug.com/assets/uploads/files/1646362115183-%E6%88%AA%E5%B1%8F2022-03-04-%E4%B8%8A%E5%8D%8810.47.57-resized.png)

## 全自动化

CloudCanal 自动帮用户完成 **结构迁移**、**全量数据迁移**、**增量数据同步**,大大提升创建数据同步任务的效率。

## 自定义代码加工

CloudCanal 允许用户添加自定义代码处理数据,应用场景包括**数据清洗**、**数据脱敏**、**宽表构建**、**新系统数据库重构**等。可参考文章《[5分钟搞定 MySQL 到 ElasticSearch 宽表构建和同步》](https://www.askcug.com/topic/240) 以了解基本使用。

## 库表列裁剪映射

CloudCanal 提供了数据迁移同步中常用的产品化能力-在库、表、列等级别进行裁剪和映射,有效提升数据迁移同步任务的适配性。
![截屏2022-03-04 上午10.44.41.png](https://www.askcug.com/assets/uploads/files/1646361975949-%E6%88%AA%E5%B1%8F2022-03-04-%E4%B8%8A%E5%8D%8810.44.41-resized.png)

## 断点续传

CloudCanal 支持迁移和同步任务的断点续传,通过定期记录的位点,让任务重启后自动从上一次位点开始继续迁移或同步。

# 操作示例

- CloudCanal 社区版部署,参见 [社区版安装文档](https://doc-cloudcanal.clougence.com/operation/install_linux)
- 准备好源端和目标端数据库以及对应的测试数据

## 添加数据源

- 登录 CloudCanal 平台

- 选择 数据源管理->新增数据源

- 选择 自建数据库中的OceanBase
![截屏2022-03-04 上午10.50.05.png](https://www.askcug.com/assets/uploads/files/1646362235765-%E6%88%AA%E5%B1%8F2022-03-04-%E4%B8%8A%E5%8D%8810.50.05-resized.png)

![截屏2022-03-04 上午10.51.28.png](https://www.askcug.com/assets/uploads/files/1646362319114-%E6%88%AA%E5%B1%8F2022-03-04-%E4%B8%8A%E5%8D%8810.51.28-resized.png)

## 创建任务

- 任务管理->任务创建

- 选择 源 和 目标 数据库

- 点击 下一步
![截屏2022-03-04 上午10.52.47.png](https://www.askcug.com/assets/uploads/files/1646362395842-%E6%88%AA%E5%B1%8F2022-03-04-%E4%B8%8A%E5%8D%8810.52.47.png)

- 选择 增量同步,并且启用 全量数据初始化

- 点击下一步
![截屏2022-03-04 上午10.55.35.png](https://www.askcug.com/assets/uploads/files/1646362560323-%E6%88%AA%E5%B1%8F2022-03-04-%E4%B8%8A%E5%8D%8810.55.35-resized.png)

- 选择订阅的表,结构迁移自动创建的表会按照默认类型映射进行处理。对端表如果已经提前建好,这里也可以直接映射对端已经存在的表

- 点击下一步
![截屏2022-03-04 上午10.56.54.png](https://www.askcug.com/assets/uploads/files/1646362651148-%E6%88%AA%E5%B1%8F2022-03-04-%E4%B8%8A%E5%8D%8810.56.54-resized.png)

- 配置列映射、点击下一步
![截屏2022-03-04 上午10.58.23.png](https://www.askcug.com/assets/uploads/files/1646362736576-%E6%88%AA%E5%B1%8F2022-03-04-%E4%B8%8A%E5%8D%8810.58.23.png)

>如果是通过 CloudCanal 结构迁移自动建表,这边不允许重命名、裁剪以及列映射; 如果映射的是对端已经提前建好的表,这边支持列的裁剪和映射

- 创建任务
![截屏2022-03-04 上午10.59.39.png](https://www.askcug.com/assets/uploads/files/1646362805248-%E6%88%AA%E5%B1%8F2022-03-04-%E4%B8%8A%E5%8D%8810.59.39.png)

- 查看任务状态。任务创建后,会自动完成结构迁移、全量、增量阶段。
![截屏2022-03-04 上午11.01.03.png](https://www.askcug.com/assets/uploads/files/1646362880833-%E6%88%AA%E5%B1%8F2022-03-04-%E4%B8%8A%E5%8D%8811.01.03.png)

# 总结

本文简单介绍了如何使用 CloudCanal 进行MySQL到OceanBase 的数据迁移同步。各位读者朋友,如果你觉得还不错,请点赞、评论加转发吧。

## 更多精彩

- [5分钟搞定 MySQL 到 ClickHouse 宽表构建和同步-CloudCanal实战](https://www.askcug.com/topic/249)
- [5分钟搞定 MySQL 到 ElasticSearch 宽表构建和同步-CloudCanal实战](https://www.askcug.com/topic/240)
- [5分钟搞定 MySQL 到 ClickHouse 实时数据同步进阶篇-CloudCanal实战](https://www.askcug.com/topic/189)
- [5分钟搞定 MySQL 到 ElasticSearch 迁移同步-CloudCanal 实战](https://www.askcug.com/topic/97)
- [5分钟搞定 MySQL 到 MySQL 异构在线数据迁移同步-CloudCanal 实战](https://www.askcug.com/topic/85)
- [5分钟搞定 MySQL 到 TiDB 的数据同步 - CloudCanal实战](http://www.askcug.com/topic/106)
- [5分钟搞定SQLServer到MySQL数据迁移同步-CloudCanal实战 - CloudCanal实战](http://www.askcug.com/topic/258)
- [5分钟搞定MySQL/PostgreSQL/Oracle到StarRocks数据迁移同步-CloudCanal实战](https://www.askcug.com/topic/262)

## 加入粉丝群

如果您还没有加入我们粉丝群,可以添加我们小助手微信suhuayue001加入我们粉丝群,感谢您对CloudCanal的关注!

posted @ 2022-08-30 15:25  clougence  阅读(241)  评论(0)    收藏  举报