CloudCanal实战-Oracle数据迁移同步到PostgreSQL

news2024/10/6 8:25:32

简述

本篇文章主要介绍如何使用 CloudCanal 构建一条 OraclePostgreSQL 的数据同步链路

技术要点

缩小的数据库权限要求

CloudCanalOracle 数据库的高权限要求,主要来自两个面向 DBA 的操作,自动构建字典自动切换归档日志,这两个操作主要是让用户使用更加自动化和便利,但是问题也比较明显,对数据库运维标准严苛的客户来说,这些权限对于我们的客户是没有的,所以新版本 CloudCanal ,通过参数配置,支持了关闭自动字典构建能力(默认打开)关闭自动切换归档日志能力(默认关闭)

多版本 schema 以支持位点回拉

对于关系型数据库同步工具而言,增量数据本身往往和元数据分离,也就是消费到的增量数据和即时从数据库里面获取的元数据不一定匹配(两个时间点之间有DDL),所以维持一个多版本的元数据以应对增量数据解析是必要的, CloudCanal 以每天的 schema dump 为基准,辅以到当前位点的 DDL 语句列表,可构建出任何时间点的元数据(实际上是更加精确的 scn 位点),单个 DDL 前后的数据变更事件,能够精确匹配到相对应的元数据进行解析, CloudCanal 才有可能在此版本产品上提供了回拉位点重复消费一段时间增量数据的能力

支持的版本

源端 Oracle 支持的版本:10.X11.X12.X18.X19.X

对端 PostgreSQL 支持的版本:8.49.09.19.29.39.49.59.610.X11.X12.X13.X14.X15.X16.X17.X

支持的DDL&数据类型映射

  • Oracle -> PostgreSQL 链路支持的DDL暂时只有 ALTER TABLE ,后续我们将不断进行完善
  • CloudCanal 结构迁移和数据迁移同步时会自动进行数据类型映射

类型映射见下表:

Oracle 字段类型PostgreSQL 字段类型
CHAR、NCHAR、VARCHAR2、NVARCHAR、NVARCHAR2、ROWID、HTTPURITYPECHARACTER_VARYING
LONG、CLOB、NCLOBTEXT
NUMBER_BIGINTBIGINT
NUMBER_DECIMAL、BINARY_FLOAT、BINARY_DOUBLENUMERIC
FLOATREAL
DATE、TIMESTAMPTIMESTAMP_WITHOUT_TIME_ZONE、TIMESTAMP_WITHOUT_TIME_ZONE
TIMESTAMP_WITH_TIME_ZONE、TIMESTAMP_WITH_LOCAL_TIME_ZONETIMESTAMP_WITH_TIME_ZONE
XMLTYPEXML

Tips : 针对于 Oracle -> PostgreSQL 链路,源端 Oracle 不在上表的字段类型暂时不支持

操作示例

准备工作

  • 安装最新版的 CloudCanal
  • 准备好源端数据源和对端数据源以及源端数据
  • CloudCanalOracle 作为源端进行数据迁移时,需要做一些额外的准备,具体参考ORACLE LogMiner同步准备

添加数据源

  • 登录 CloudCanal 平台
  • 数据源管理 -> 新增数据源

image.png

  • 选择自建数据库 -> 选择对应数据库 -> 输入相关信息 -> 测试连接-> 新增数据源

image.png

Tips :Oracle 相较于其他数据源有一些额外的参数可以调整

  • logminerUser:ORACLE源端增量任务使用redo解析(logminer)方式时使用的账号,需要CDB类型用户
  • logminerPasswd:ORACLE源端增量任务使用redo解析(logminer)方式时使用的账号密码
  • logminerConnectType:ORACLE源端增量任务使用redo解析(logminer)方式时使用的连接方式,目前支持ORACLE_SID或ORACLE_SERVICE模式
  • logminerSidOrService:ORACLE源端增量任务使用redo解析(logminer)方式时使用的连接标识符,和logminerConnectType参数配合使用,ORACLE_SID连接方式,则填写sid,ORACLE_SERVICE连接方式,则填写service name
  • 添加 OraclePostgreSQL 之后可以在数据源列表中看到新增的数据源

image.png

创建同步任务

  • 任务管理 -> 创建任务
  • 源端选择 Oracle 数据源,对端选择 PostgreSQL数据源
  • 分别点击测试连接,选择源端和对端需要订阅的数据库,选择下一步

image.png

  • 选择 全量迁移 -> 勾选 增量同步 -> 根据自身机器配置选择 任务规格
  • 选择 下一步

image.png

  • 选择源端需要同步的表,如果目标表显示橙色表示对端不存在该表,任务创建之后,会自动生成该表
  • 点击 下一步

image.png

  • 可以在左侧选择添加 数据过滤条件
  • 点击 下一步

image.png

  • 点击 创建任务

image.png

任务执行

任务创建并且启动后,会自动进行如下的三个阶段:

  • 结构迁移:任务创建之后,如果对端没有表结构,那么 CloudCanal 会去自动在对端创建表结构
  • 全量迁移:将源端存量数据整体迁移到对端
  • 增量同步:全量迁移期间以及全量完成以后的源端增量数据变更会实时同步到对端

image.png image.png

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/160780.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详解 strtok 函数以及模拟实现

目录 一、strtok 函数的介绍 二、strtok 函数的模拟实现 一、strtok 函数的介绍 函数原型: char* strtok(char* str, const char* delimiters); delimiter n.[计]分隔符,定界符(a character that marks the beginning or end of a unit o…

KMP算法详解+动图演示

目录 一、KMP算法简介 二、KMP算法的详细图解 1. 先了解BF算法的基本思路 2. 简单了解KMP算法 3. next数组的引入 4. next数组的代码实现(含动态演示) 三、KMP算法完整代码 一、KMP算法简介 KMP算法是一种改进的字符串匹配算法,由 …

【算法】二分图判定

目录1.概述2.代码实现3.应用本文参考: LABULADONG 的算法网站 1.概述 (1)二分图 (Bipartite Graph),又称为二部图,是图论中的一种特殊模型。 设 G (V, E) 是一个无向图,如果顶点 V 可分割为两个互不相交的…

Unity 和vs2022对接问题

第一个问题:在vs中编写好的程序在unity中预览出现乱码;提示:只要是乱码的问题90%离不开编码表Unity中的编码表是utf-8,而vs中默认的应该是GB2312。英文还好,中文可定就会出现乱码,解决方法也很简单:把vs中的…

【Python基础四】入门级朋友看的超详教程

前言 这是最后一篇基础的文章啦 往期文章: 【Python基础一】入门级朋友看的超详教程 【Python基础二】入门级朋友看的超详教程 【Python基础三】入门级朋友看的超详教程 刚开始接触Python的宝子,有什么不懂的都可以私信我哦 我还准备了大量的免费…

目标检测:YOLO V2思路解读

目标检测:YOLO V2思路解读YOLO V1存在的问题主要改进Batch NormalizationHigh Resolution ClassifierConvolutional With Anchor BoxesDimension ClusterDirect location PredictionFine-Grained FeaturesMulti-Scale TrainingLoss FunctionYOLO V1存在的问题 对于…

使用Redis代替Session实现短信登陆

1.集群的Session共享问题 多台Tomcat并不共享Session存储空间,当请求切换到不同tomcat服务器时会导致数据丢失: 当用户量增多,我们需要进行负载均衡、对tomcat做水平扩展,可是存储在Tomcat里的Session不是共享的,这…

从C和C++内存管理来谈谈JVM的垃圾回收算法设计-上

从C和C内存管理来谈谈JVM的垃圾回收算法设计-上引言C内存模型malloc堆内存分配过程malloc为什么结合使用brk和mmapmalloc如何通过内存池管理Heap区域垃圾收集器引言 本文想和大家来探讨一下JVM是如何对堆内存进行管理和垃圾回收,相关书籍如深入理解JVM第三版中已经介绍过了相关…

OSCP-Vulnhub靶机记录-digitalworldlocal-fall

Vulnhub靶机记录-digitalworldlocal-fall靶机描述安装扫描枚举使用kali自带的FUZZ权限提升靶机描述 靶机地址:https://www.vulnhub.com/entry/digitalworldlocal-fall,726/ Description To celebrate the fifth year that the author has survived his infosec ca…

也来聊聊滑块验证码的那些事

单位做攻防演习,我扮演攻击方尝试破解。发现滑块验证码做了升级,比之前复杂了很多。好在仍然是一维验证,不用太麻烦。https接口里读出的是json对象,先从对象里取出图片转的base64编码,然后把字符串转回成numpy.ndarray…

Verilog HDL 基础语法

一、逻辑值 0: 逻辑低电平,条件为假 1: 逻辑高电平,条件为真 z: 高阻态,无驱动 x: 未知逻辑电平二、实际例子 1. 模块名一般与文件名相同 线网型变量会被映射成一条真实存在的物理连线。 寄存器型变量会被映射成一个寄存器。 2. 参数 para…

2、JavaScript快速入门

2.1 引入JavaScript 内部标签 <!-- 在script标签内写JavaScript(简称js)代码&#xff0c;代码块可以放在head中&#xff0c;也可以放在body中--> <script>// alert:弹窗alert(Hello,world!); //注意以分号结尾 </script>外部引入 hello.js alert(Hello,worl…

分享120个ASP源码,总有一款适合您

ASP源码 分享120个ASP源码&#xff0c;总有一款适合您 链接&#xff1a;https://pan.baidu.com/s/1WwTsUTLS_qLvP-TC1w-1vQ?pwdvxpk 提取码&#xff1a;vxpk 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c;大家下载…

OB0207 obsidian 自动获取url链接:auto-link-title插件使用

序号解读&#xff1a; 01——软件基础使用、基础语法 02——插件使用 03——综合实战 0 写在前面 Ob社区插件汇总&#xff1a;Airtable - OB社区插件汇总 - Johnny整理 - 每周更新 - B站 Johnny学Explore the "OB社区插件汇总 - Johnny整理 - 每周更新 - B站 Johnny学&qu…

过去一年渲染了3亿帧,助力了63.81亿票房、1150亿播放量丨瑞云渲染年度大事记

2022年&#xff0c;注定是充满未知和挑战的一年。抗疫三年&#xff0c;终于在2022年底迎来放开&#xff0c;我们怀着忐忑的心情告别了核酸、行程码和封控&#xff0c;成为了自己健康的第一负责人。这段时间大家应该都忙着和病毒做斗争吧&#xff0c;瑞云各个岗位的小伙伴们也都…

6.7、万维网(如HTTP超文本传输协议)

1、基本介绍 万维网 WWW (World Wide Web&#xff09;并非某种特殊的计算机网络\color{red}并非某种特殊的计算机网络并非某种特殊的计算机网络。 它是一个大规模的、联机式的信息储藏所&#xff0c;是运行在因特网上的一个分布式应用。 万维网利用网页之间的超链接\color{r…

Web进阶:Day5 移动适配、rem、less

Web进阶&#xff1a;Day5 Date: January 10, 2023 Summary: 移动适配、rem、less 移动适配 移动适配指网页元素的宽高都要随着设备宽度等比缩放 rem &#xff1a; 目前多数企业在用的解决方案 vw / vh&#xff1a;未来的解决方案 rem 目标&#xff1a;能够使用rem单位设置网…

2022年跨境物流指数研究报告

第一章 行业概况 指提供跨境物流服务的行业。跨境物流是指在电子商务环境下&#xff0c;依靠互联网、大数据、信息化与计算机等先进技术&#xff0c;物品从跨境电商企业流向跨境消费者的跨越不同国家或地区的物流活动。 图 物流运输行业产业链结构图 资料来源&#xff1a;资产…

Tapdata Cloud 场景通关系列:集成阿里云计算巢,实现一键云上部署真正开箱即用

【前言】作为中国的 “Fivetran/Airbyte”, Tapdata Cloud 自去年发布云版公测以来&#xff0c;吸引了近万名用户的注册使用。应社区用户上生产系统的要求&#xff0c;Tapdata Cloud 3.0 将正式推出商业版服务&#xff0c;提供对生产系统的 SLA 支撑。Tapdata 目前专注在实时数…

VS2010 安装NuGet NPIO 基础连接已经关闭:发送时发生错误

1.下载Nuget并安装 NuGet Package Manager - Visual Studio Marketplace 工具->扩展管理器可看见 2.安装NPOI 3. 如果遇见基础连接已经关闭:发送时发生错误 要把https://packages.nuget.org/改为https://www.nuget.org/api/v2/ VS2019要使用https://www.nuget.org/api/v…