简述
CloudCanal 2.1.0.x 版本开始反对 Oracle 作为源端的数据迁徙同步能力,目前邀请测试中。
本文通过 Oracle 到 MySQL 的数据迁徙同步案例简要介绍这个源端的能力。链路特点:
构造迁徙、全量迁徙、增量同步(数据)、数据校验俱全流程全自动化
此文章简要介绍如何疾速构建一条长期稳固运行的 Oracle->MySQL 数据链路。
技术要点
将数据从 Oracle 中同步进去有两种形式能够抉择
- 物化视图日志
- 应用 Redo 日志
权限问题
请确保增加的数据源账号能够拜访如下 13 张表和 1 个函数,或者应用一个具备 DBA 权限的 Oracle 账号。
- 表 SYS.DBA_USERS
- 表 SYS.DBA_TABLES
- 表 SYS.DBA_TAB_COLS
- 表 SYS.DBA_TAB_COMMENTS
- 表 SYS.DBA_COL_COMMENTS
- 表 SYS.PRODUCT_COMPONENT_VERSION
- 表 SYS.DBA_CONSTRAINTS
- 表 SYS.DBA_CONS_COLUMNS
- 表 SYS.DBA_INDEXES
- 表 SYS.DBA_IND_COLUMNS
- 表 v$version
- 表 v$database
- 表 v$tablespace
对于物化视图计划来讲须要有额定的下列权限
- 语句
CREATE MATERIALIZED VIEW LOG ON xxx
- 语句
CREATE INDEX xxxx
对于 Redo 计划来将须要有 LOGMNR 相干的权限
- 表 SYS.ALL_LOG_GROUPS
- 表 v$logfile
- 表 v$log
- 表 v$archived_log
- 表 v$logmnr_logs
- 存储过程 SYS.DBMS_LOGMNR_D.BUILD
- 存储过程 SYS.DBMS_LOGMNR.ADD_LOGFILE
- 存储过程 SYS.DBMS_LOGMNR.START_LOGMNR
- 存储过程 SYS.DBMS_LOGMNR.END_LOGMNR
- 语句
ALTER TABLE xxxx DROP SUPPLEMENTAL LOG xxx
- 语句
ALTER TABLE xxxx ADD SUPPLEMENTAL LOG xxx
- 语句
ALTER SYSTEM ARCHIVE LOG CURRENT
在配置同步工作之前须要确保下面的 Oracle 权限,另外作为源端 Oracle 全量阶段还须要读取对应表的权限。
举个 “ 栗子 ”
筹备 CloudCanal
- SaaS 版参考 自建机器客户端装置
- 社区版参考 Docker 装置
增加数据源
- 登录 CloudCanal 平台
- 数据源治理 -> 增加数据源
- 抉择 自建数据源 ,并填写相干数据库信息,其中 网络地址 请按提醒带上端口号
- 如下已增加完 Oracle 和 MySQL
创立同步工作
- 工作治理 -> 新建工作
- 源端抉择刚增加的 Oracle 数据源,指标抉择 MySQL, 别离点击 测试连贯 按钮以测试数据库连通性和获取 schema 级别元信息
-
点击 下一步
- 抉择 数据同步 ,并且勾选 全量数据初始化
- 规格能够依据工作重要度以及部署机器的内存容量正当抉择,个别 2GB 内存规格即可
-
点击 下一步
- 勾选须要同步的表,如果指标表为橙色,示意不存在同名表,工作创立实现后主动进行 构造迁徙。也能够下拉框抉择表进行映射
- 勾选须要同步的 INSERT/UPDATE/DELETE 操作,默认全选
-
点击 下一步
- 通过勾选做 列映射 和列裁剪
-
点击 下一步
- 对工作内容进行创立,如果工作不须要立即运行 , 可置灰 主动启动工作 按钮
-
点击 确认创立
工作同步
-
工作分为 3 个阶段:构造迁徙 、 数据初始化 、 数据同步,每一个阶段实现时,状态主动流转,直到同步稳态
- 构造迁徙:当对端数据库不存在对应的库表时 CloudCanal 会主动将 Oracle 的表在对端创立进去
-
数据初始化:将源端所选库表数据以全量迁徙形式搬迁到对端
- 数据同步:准实时的同步增量数据,即源端数据库上产生的增、删、改操作同步到对端数据库上
FAQ
目前 Oracle 源端还反对哪些数据源?
除了 Oracle 到 MySQL 之外,截止社区版 2.0.1.1 版本,还反对上面这些链路
- Oracle -> PostgreSQL
- Oracle -> Greenplum
- Oracle -> TiDB
- Oracle -> Oracle
- Oracle -> Kudu。
预检失败会有哪些影响?
一些小伙伴可能在创立工作的时候遇到相似如下报错信息,可能会有一些纳闷。
在创立工作的最初阶段咱们会进行一些检测,Oracle 作为源端会存在如下一些检测我的项目。
物化视图模式下
- 如果表曾经创立了物化视图日志表那么预检失败。
Redo 模式下
- 开启日志归档模式
alter database archivelog
开启过程须要数据库离线。 - 须要开启最小补全日志
alter database add supplemental log data
总结
本文简略介绍了如何应用 CloudCanal 疾速构建 Oracle-> MySQL 数据迁徙同步链路,更多的源端和指标端陆续凋谢。各位小伙伴,如果感觉还不错,请点赞、评论加转发吧。
更多精彩
- 5 分钟搞定 MySQL 到 ClickHouse 宽表构建和同步 -CloudCanal 实战
- 5 分钟搞定 MySQL 到 ElasticSearch 宽表构建和同步 -CloudCanal 实战
- 5 分钟搞定 MySQL 到 ClickHouse 实时数据同步进阶篇 -CloudCanal 实战
- 5 分钟搞定 MySQL 到 ElasticSearch 迁徙同步 -CloudCanal 实战
- 5 分钟搞定 MySQL 到 MySQL 异构在线数据迁徙同步 -CloudCanal 实战
- 5 分钟搞定 MySQL 到 TiDB 的数据同步 – CloudCanal 实战
加入内测
Oracle 源端目前处于 beta 阶段,你能够通过增加咱们的微信小助手 (suhuayue001),进入内测群提前进行测试验证,取得提交需要优先解决的机会,包含反对以 Oracle 为源端的、尚未开明的链路或性能。
退出 CloudCanal 粉丝群把握一手音讯和获取更多福利,请增加咱们小助手微信:suhuayue001
CloudCanal- 收费好用的企业级数据同步工具,欢送品鉴。
理解更多产品能够查看官方网站:http://www.clougence.com
CloudCanal 社区:https://www.askcug.com/