当前位置: 首页 > news >正文

Oracle通过datax迁移线上表到历史库

历史数据迁移

线上库数据增长迅速,需要定期清理历史数据,因为异地灾备,但是带宽很小,不能使用数据泵直接往历史库导数,会导致本地机房到灾备机房的带宽被占满,调研过flink、golden gate、datax,根据需求及配置复杂度,选用了datax

创建DBLINK

在目标库创建DBLINK,目标端数据库需要高版本

create public database link quickpay
connect to kpay identified by Pay_2019
using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 10.10.2.210) (PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = paydb)))';

迁移元数据

通过DBLINK迁移元数据到目标库

impdp \' / as sysdba\' directory=dir1 network_link = pay tables=kpay.PAYMENTSIGN11 remap_schema=pay:pay2 remap_tablespace=pay:pay2 CONTENT=METADATA_ONLY

锁定表

将表锁定,确保数据不会变化

alter table kpay.PAYMENTSIGN11 read only;

配置datax

在异地有灾备机房,带宽较小,需要限制同步速度

安装部署

下载
https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz
快速入门
https://github.com/alibaba/DataX/blob/master/userGuid.md
如果觉得数据包太大可以将不需要的plugin清理掉
datax/plugin/writer/目录下仅保留了oraclewriter
datax/plugin/reader/目录下仅保留了oraclereader

datax限速

设置传输速度,将文件PAYMENTSIGN11.json放置到datax下面的job目录

{"job": {"setting": {"speed": {//设置传输速度 byte/s 尽量逼近这个速度但是不高于它.// channel 表示通道数量,byte表示通道速度,如果单通道速度1MB,配置byte为1048576表示一个channel"byte": 1048576,"channel": 4},},"content": [{"reader": {"name": "oraclereader","parameter": {// 数据库连接用户名"username": "root",// 数据库连接密码"password": "root","column": [//读取指定字段,如果不需要指定字段,用符号*"id","name",],//切分主键,通过该字段分片处理table,配合channel使用"splitPk": "db_id","connection": [{"table": ["user"],"jdbcUrl": ["jdbc:oracle:thin:@[HOST_NAME]:PORT/[DATABASE_NAME]"]}]}},//写入部分脚本"writer": {"name": "oraclewriter","parameter": {//数据库用户名密码"username": "root","password": "root",//写入数据库的对应字段,如果不需要指定字段,用符号*"column": ["*"],"connection": [{"jdbcUrl": "jdbc:oracle:thin:@10.127.0.1:1521/orcl",//指定写入table"table": ["user"]}]}}}]}
}

报错

在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数

com.alibaba.datax.common.exception.DataXException: Code:[Framework-03], Description:[DataX引擎配置错误,该问题通常是由于DataX安装错误引起,请联系您的运维解决 .]. - 在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数
at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:26) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
at

修改文件datax/conf/core.json
core -> transport -> channel -> speed -> “byte”: 2000000,将单个channel的大小改为2MB即可

"core": {"dataXServer": {"address": "http://localhost:7001/api","timeout": 10000,"reportDataxLog": false,"reportPerfLog": false},"transport": {"channel": {"class": "com.alibaba.datax.core.transport.channel.memory.MemoryChannel","speed": {"byte": 2000000,"record": -1},"flowControlInterval": 20,"capacity": 512,"byteCapacity": 67108864},"exchanger": {"class": "com.alibaba.datax.core.plugin.BufferedRecordExchanger","bufferSize": 32}},
}

开始复制

cd datax
python ./bin/datax.py ./job/PAYMENTSIGN11.json

参考文章
https://blog.csdn.net/weixin_42418589/article/details/126019261

相关文章:

Oracle通过datax迁移线上表到历史库

历史数据迁移 线上库数据增长迅速,需要定期清理历史数据,因为异地灾备,但是带宽很小,不能使用数据泵直接往历史库导数,会导致本地机房到灾备机房的带宽被占满,调研过flink、golden gate、datax&#xff0c…...

java基础-深拷贝和浅拷贝

java中有一个概念叫深拷贝和浅拷贝,那这两个是什么意思呢?其实你可以对比一下c中的传值和传引用的问题。 深拷贝 即两个相同的对象地址不同,比如对象A通过拷贝出来对象B,在对B对象进行操作时不会影响到A对象的内容。 浅拷贝 和…...

Java数组操作

数组拓展 1.1 数组拷贝 需求:定义一个方法arraycopy, 从指定源数组中从指定的位置开始复制指定数量的元素到目标数组的指定位置。 1.2. 排序操作 需求:完成对int[] arr new int[]{2,9,6,7,4,1}数组元素的升序排序操作. 1.2.1.冒泡排序 对未排序的各元素…...

C++vector及其实现

第一个参数是类型(可以是自定义也可以是内置类型) 相当于生成一个该类型的数组 allocator是空间配置器 遍历 1.下标遍历 2.迭代器遍历 3.范围for 对象访问 有名对象访问 匿名对象访问 隐式类型转换 成员函数 sort 使用sort需要包含头文件algorithm eg. sort的使用非…...

路由策略实验1

先把地址全部配通 对R1 对R2 对R4 对R3 对R5 对R6 对R7 然后起路由协议 对R1 对R2 对R3 对R4 对R5 对R6 对R7...

含情脉脉的进程

冯诺依曼体系结构 一个计算机在工作的时候是怎样的呢? 我们所认识的计算机都是由一个个的硬件组件组成: 输入设备:键盘、鼠标、摄像头、话筒、磁盘、网卡 中央处理器(CPU):运算器、控制器 输出设备&#x…...

重复文件怎么查找并清理?电脑重复文件清理工具分享:4个

在日常使用电脑的过程中,我们不可避免地会遇到各种重复文件的问题。这些重复文件不仅占据了宝贵的存储空间,还可能导致系统性能下降,甚至引发一些不必要的问题。因此,如何有效地查找并清理这些重复文件成为了许多用户关注的焦点。…...

Java中连接Mongodb进行操作

文章目录 1.引入Java驱动依赖2.快速开始2.1 先在monsh连接建立collection2.2 java中快速开始2.3 Insert a Document2.4 Update a Document2.5 Find a Document2.6 Delete a Document 1.引入Java驱动依赖 注意&#xff1a;启动服务的时候需要加ip绑定 需要引入依赖 <dependen…...

LabVIEW远程开发与调试

在现代项目开发中&#xff0c;远程开发与调试已经成为一种常见的模式&#xff0c;特别是在使用LabVIEW进行工程项目时。本文将详细分析LabVIEW远程开发与调试的优缺点&#xff0c;并从多个角度说明如何建议客户采用这种方式&#xff0c;以提高项目效率和质量。 优点 灵活性和便…...

C/C++|基于回调函数实现异步操作

首先&#xff0c;要搞懂一点&#xff0c;异步操作本质上也是并发&#xff0c;我们想要在线程级别实现异步并发基本就靠三种方式&#xff1a; 多线程并发回调函数协程 今天我们讨论的是回调函数&#xff0c;我们如何通过回调函数来实现异步操作呢&#xff1f; 非阻塞I/O操作回…...

Mac上搭建Python环境:深入探索与高效实践

Mac上搭建Python环境&#xff1a;深入探索与高效实践 在Mac上搭建Python环境&#xff0c;对于开发者来说是一个既具挑战性又充满乐趣的过程。本文将从四个方面、五个方面、六个方面和七个方面详细阐述如何在Mac上成功搭建Python环境&#xff0c;并帮助您更好地理解和应用Pytho…...

数据标准的制定落地

目录 什么是数据标准 基本定义 目的 数据标准体系分类 从内容层面分类 从管理视角分类 从面向的对象分类 从数据结构的角度分类 数据标准价值 业务价值 技术价值 管理价值 数据标准和数据治理的关系 数据标准在数据治理各项任务中的作用 数据标准与主数据 数据…...

微信小程序基础 -- 小程序UI组件(5)

小程序UI组件 1.小程序UI组件概述 开发文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/view/component.html 什么是组件&#xff1a; 组件是视图层的基本组成单元。 组件自带一些功能与微信风格一致的样式。 一个组件通常包括 开始标签 和 结…...

Linux shell编程学习笔记55:hostname命令——获取或设置主机名,显示IP地址和DNS、NIS

0 前言 2024年的网络安全检查又开始了&#xff0c;对于使用基于Linux的国产电脑&#xff0c;我们可以编写一个脚本来收集系统的有关信息。其中主机名也是我们要收集的信息之一。 1. hostname命令 的功能、格式和选项说明 我们可以使用命令 hostname --help 来查看hostname命令…...

【鸟哥】Linux笔记-硬件搭配

在Linux这个系统当中&#xff0c;几乎所有的硬件设备文件都在/dev这个目录内。打印机与软盘呢&#xff1f;分别是/dev/lp0, /dev/fd0。 几个常见的设备与其在Linux当中的文件名&#xff1a; 如果你的机器使用的是跟网际网络供应商 &#xff08;ISP&#xff09; 申请使用的云端…...

代码随想三刷数组篇

代码随想三刷数组篇1 704. 二分查找题目代码27. 移除元素题目代码977.有序数组的平方题目代码209.长度最小的子数组题目代码59.螺旋矩阵II题目代码704. 二分查找 题目...

windows环境下重建oracle监听

由于某种原因导致数据库监听启动失败&#xff0c;需要重新创建监听。 过程如下&#xff1a; 第一步&#xff1a;修改 listenr.ora 文件 &#xff0c;增加新的监听配置 LISTENER4 (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST DESKTOP-BE6GDNT)(PORT 152…...

单元测试框架Pytest的基本操作

Pytest基本操作 1. 详解1.1 命名规则:1.2 自定义查找规则:1.3 3种运行方式1.4 执行顺序2. 断言2.1 定义2.2 断言的规则3. mark3.1 mark的作用3.2 mark的标记方式3.3 注册标签名3.4 skip跳过标记4. pytest的参数化5. pytest的夹具(fixture测试夹具)5.1. 作用5.2. 夹具应用场…...

Java web应用性能分析之【java进程问题分析工具】

Java web应用性能分析之【java进程问题分析概叙】-CSDN博客 前面大概讲了java进程问题分析流程&#xff0c;这里再小结一下分析工具&#xff0c;后面也会小结一下java进程问题分析定位。 1.分析工具 1.1.linux命令工具 参考&#xff1a;Java web应用性能分析之【Linux服务器性…...

02-2.3.2_2 单链表的查找

喜欢《数据结构》部分笔记的小伙伴可以订阅专栏&#xff0c;今后还会不断更新。 此外&#xff0c;《程序员必备技能》专栏和《程序员必备工具》专栏&#xff08;该专栏暂未开设&#xff09;日后会逐步更新&#xff0c;感兴趣的小伙伴可以点一下订阅、收藏、关注&#xff01; 谢…...

《Sysinternals实战指南》ZoomIt 学习笔记(11.9):绘图模式——演示时“手写板”:标注、圈画、临时白板

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...

Unity ShaderGraph环境搭建避坑指南:URP/HDRP渲染管线匹配

1. 为什么“环境搭建”是ShaderGraph学习路上第一个真坑 很多人点开Unity ShaderGraph教程&#xff0c;第一眼看到“创建Sub Graph”“连接Base Color节点”&#xff0c;心里一热&#xff1a;这不就是拖拖拽帖&#xff1f;比写HLSL简单多了&#xff01;结果双击打开Shader Gra…...

Motrix Next v3.8.10 | 开源多线程下载管理器神器

Motrix Next v3.8.10是一款全新重构升级的开源多线程下载管理器&#xff0c;老牌原版 Motrix 早已停止更新&#xff0c;老旧架构存在诸多安全漏洞与性能缺陷。而 Motrix Next 基于 Tauri 2Vue3 全新重构开发&#xff0c;补齐了原版技术短板&#xff0c;软件全程纯净无任何广告加…...

Multisim仿真避坑指南:为什么你的74LS148电路LED灯不亮?从命名规则到电源接法的常见错误排查

Multisim仿真避坑指南&#xff1a;74LS148电路LED不亮的深度排查手册 当你在Multisim中搭建完一个看似完美的74LS148优先编码器电路&#xff0c;按下仿真按钮后却发现LED灯顽固地保持黑暗——这种挫败感每位电子工程师都深有体会。本文将从五个关键维度系统梳理那些容易被忽视却…...

520遇见AI:猛犸AI智能体训练增长营第15期深圳圆满落幕

一束玫瑰&#xff0c;一场关于未来的对话。 2026年5月20日&#xff0c;猛犸AI智能体训练增长营第15期在深圳南山正式开课。课程伊始&#xff0c;GEO理论奠基人罗小军为每一位到场的100余名学员送上了一束玫瑰花——这一天恰逢520&#xff0c;这束花&#xff0c;是猛犸AI送给每一…...

2026年南京Geo公司将有何新动态?一起探寻其发展新方向!

在数字化浪潮汹涌澎湃的当下&#xff0c;AI智能营销领域正经历着前所未有的变革。顺炫科技作为该领域的深耕者&#xff0c;一直致力于为全球客户提供高效、智能的数字化推广解决方案。随着2026年的到来&#xff0c;顺炫科技又将有哪些新动态&#xff0c;其发展新方向又将指向何…...

量子PSO与机器学习在天线小型化设计中的应用

1. 量子PSO与机器学习在天线小型化设计中的革命性应用作为一名长期从事射频工程和天线设计的从业者&#xff0c;我见证了传统设计方法从纯手工计算到计算机辅助设计的演进。但直到接触量子粒子群优化(QDPSO)与机器学习的融合应用&#xff0c;才真正体会到智能化设计带来的效率飞…...

STM32F103RCT6国内供应商

在众多STM32F103RCT6的国内供应商中&#xff0c;深圳市粤科源兴科技有限公司以其专业的服务和优质的产品赢得了市场的认可。本文将从产品特性、价格优势以及售后服务等方面详细介绍深圳市粤科源兴科技有限公司为何是您选择STM32F103RCT6的理想合作伙伴。一、产品特性与兼容性产…...

AI 时代,C# 程序员学 Python 到底值不值?| C#转Python

关键词&#xff1a;C#转Python、Python入门、AI时代、C#程序员、Python学习刷技术社区的时候&#xff0c;你一定见过这种标题&#xff1a;"Python 已成 AI 时代唯一语言""C# 已死&#xff0c;.NET 没未来""不会 Python 的程序员正在被淘汰"说实话…...

Linux grep 文本过滤与正则实战——日志筛选、文本匹配神器

前言grep 是 Linux 最核心的文本搜索、日志过滤命令&#xff0c;排查报错、筛选日志、过滤配置、批量匹配全部靠它。本文从基础用法到正则实战&#xff0c;全覆盖工作高频场景&#xff0c;看完彻底掌握 grep。一、grep 核心作用从文件/管道流中匹配包含指定关键词的行&#xff…...