oracle库中数据利用datax工具同步至mysql库

news2025/7/16 3:35:24

查看oracle版本

$sqlplus aaa/aaaa@192.168.1.1/lcfa

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Oct 17 15:56:46 2023
Version 19.15.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.

Last Successful login time: Tue Oct 17 2023 15:56:03 +08:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0

查看mysql版本

$mysql -V
mysql  Ver 14.14 Distrib 5.7.43, for linux-glibc2.12 (x86_64) using  EditLine wrapper

查看主机版本

$cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.6 (Maipo)```

查看主机jdk和python版本

$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

$python --version
Python 2.7.5

注意点:
1、部署datax的主机需要jdk1.8和python2.7.5以上版本,主机、数据库版本没有要求

2、部署datax的主机需要安装python控件cx_Oracle-7.3.0来登录oracle

3、部署datax的主机需要和mysql、oracle主机网络是通的且能登录数据库

4、mysql和oracle库中表的字段必须要统一,josn配置文件中字段要一样

5、Mysql保留字处理:
ID,ip,port,desc 等mysql的关键字被认为是保留字,这个不能用在json文件中

第一步:解压datax

tar -zxvf datax.tar.gz 
ls -rlt
total 810304
-rw-rw-r--  1 lcims lcims 829749309 Oct 16 14:34 datax.tar.gz
drwxr-x--- 14 lcims lcims       236 Oct 16 14:52 datax

datax目录包含:
在这里插入图片描述

bin:程序的执行目录,里面的data.py是控制台执行该程序的启动文件
log:执行后的日志,每执行一次生成一个日志文件,可以清楚的看到报错信息
plugin:reader和writer插件,比如reader里的mysqlreader为mysql的读取插件
3ajob:是自定义的文件夹,写入了要迁移的表信息 

3ajob目录下为要迁移表数据的josn文件配置信息:
python /datax/datax/bin/datax.py -r mysqlreader -w oraclewriter --查看josn格式模板

./3ajob/tables_name.josn
解释:
{
    "job": {
        "setting": {
            "speed": {
                "channel": 16    #(这个是多线程,我们是16核cpu,所以用的是16)
            }
        }, 
        "content": [
            {
                "reader": {
                    "name": "oraclereader", #(oracle的信息配置,从oracle读取)

                    "parameter": {
                        "username": "test", #(oracle的用户和密码)
                        "password": "test", #(oracle的用户和密码)
                        "column": [   #(column[]中是oracle表中的字段信息)
                            "aaa",
"bbb",
"ccc"
                        ],
						"where":" 1=1 ",
                        "connection": [
                            {
                                "table": [
                                    "表名" #(要迁移的表)
                                ], 
                                "jdbcUrl": [
                                    "jdbc:oracle:thin:@ip:端口/实例"#(oracle表数据源配置)
                                ]
                            }
                        ]
                    }
                }, 
                "writer": {
                    "name": "mysqlwriter", #(mysql写入配置)
                    "parameter": {
                        "writeMode": "update", #(mysql写入配置)
                        "username": "test", 
                        "password": "test", 
                        "column": [ #(mysql字段)
                                "aaa",
"bbb",
"ccc"
                        ], 
                        "session": [
                            "set session sql_mode='ANSI'"
                        ], 
                        "preSql": [
                            "select 1 from 表名"
                        ], 
                        "connection": [#(mysql链接信息)
                            {
                                "jdbcUrl": "jdbc:mysql://ip:端口/实例?useUnicode=true&characterEncoding=utf8", 
                                "table": [
                                    "表名"
                                ]
                            }
                        ]
                    }
                }
            }
        ]
    }
}

配置完成进入bin目录执行脚本,查看日志

进入bin目录
cd  ./datax/bin
执行命令:nohup python ./datax.py /路径/脚本名 &
例:
$  nohup python ./datax.py ../3ajob/aaa.json &
查看日志:tail -100f nohup.out 

在这里插入图片描述

数据同步完成,即可查看mysql中的数据

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

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

相关文章

NSS [NISACTF 2022]easyssrf

NSS [NISACTF 2022]easyssrf 先看题目&#xff0c;给了一个输入框 看这提示就知道不是curl了&#xff0c;先file协议读一下flag&#xff0c;file:///flag 不能直接读flag&#xff0c;读个提示文件file:///fl4g 访问一下 <?phphighlight_file(__FILE__); error_reporting(0…

NSS [GWCTF 2019]枯燥的抽奖

NSS [GWCTF 2019]枯燥的抽奖 开题让我猜字符串&#xff0c;这种题目肯定不是猜&#xff0c;应该是类似于php伪随机数。 dirsearch扫他一下。 访问/check.php得到源码。 分析一下代码。 通过PHP伪随机数从字符库$str_long1中选取20个字符组成字符串&#xff0c;返回给我们前十…

EasyCVR视频汇聚平台显示有视频流但无法播放是什么原因?该如何解决?

视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等&#xff0c;视频智能分析平台EasyCVR融合性强、开放度…

BI零售数据分析,当代零售企业的核心竞争力

在数字化转型中&#xff0c;BI智能零售数据分析成为了极其重要的核心竞争力之一。通过对大数据的采集和分析&#xff0c;零售企业可以更好地了解消费者的需求和行为模式&#xff0c;从而做出更准确的决策。例如&#xff0c;通过分析消费者的购物历史、浏览记录等数据&#xff0…

五、WebGPU Vertex Buffers 顶点缓冲区

五、WebGPU Vertex Buffers 顶点缓冲区 在上一篇文章中&#xff0c;我们将顶点数据放入存储缓冲区中&#xff0c;并使用内置的vertex_index对其进行索引。虽然这种技术越来越受欢迎&#xff0c;但向顶点着色器提供顶点数据的传统方式是通过顶点缓冲和属性。 顶点缓冲区就像任…

[Java]0.1+0.2不等于0.3 !!一分钱问题与解决方案

一、原因 原因很简单&#xff0c;计算机存储和计算数组都是用二进制&#xff0c; 而大部分小数转二进制的时候&#xff0c;就丢失精度了。 0.1、0.2、0.3这些小数在二进制里都是循环小数&#xff0c;计算机不可能存储无限循环小数&#xff0c;所以只能截取一部分&#xff0c;导…

Linux网络-UDP/TCP协议详解

Linux网络-UDP/TCP协议详解 2023/10/17 14:32:49 Linux网络-UDP/TCP协议详解 零、前言一、UDP协议二、TCP协议 1、应答机制2、序号机制3、超时重传机制4、连接管理机制 三次握手四次挥手5、理解CLOSE_WAIT状态6、理解TIME_WAIT状态7、流量控制8、滑动窗口 丢包问题9、拥塞控制…

如何使用前端框架(React、Angular、Vue.js等)?该如何选择?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

“小”Bug,大能量

文章目录 简介BUG集&#xff08;持续更新&#xff09;依赖版本不一致配置错误循环依赖内存泄漏并发问题空指针异常依赖版本冲突 总结 简介 在写代码的时候&#xff0c;遇到了一些bug&#xff0c;在当下怎么检查都查不出问题出现在哪&#xff0c;等过几天后突然发现困扰自己的问…

快速自动化处理JavaScript渲染页面的方法

目录 一、使用无头浏览器 二、使用JavaScript渲染引擎 三、使用前端框架工具 随着互联网技术的不断发展&#xff0c;JavaScript已经成为Web开发中不可或缺的一部分。然而&#xff0c;在自动化处理JavaScript渲染页面方面&#xff0c;却常常让开发者感到头疼。本文将介绍一些快…

数仓建设(三)

4) 累积快照事实表 多个业务过程联合分析而构建的事实表&#xff0c;如采购单的流转环节。用于分析事件时间和时间之间的间隔周期。少量的且当前事务型不支持的&#xff0c;如关闭、发货等相关的统计。 4. DWS公共汇总层设计规范 数据仓库的性能是数据仓库建设是否成功的重要标…

从头开始机器学习:逻辑回归

一、说明 本篇实现线性回归的先决知识是&#xff1a;基本线性代数&#xff0c;微积分&#xff08;偏导数&#xff09;、梯度和、Python &#xff08;NumPy&#xff09;&#xff1b;从线性方程入手&#xff0c;逐渐理解线性回归预测问题。 二、逻辑回归简介 我们将以我们在线性回…

Memory Analyzer分析内存溢出

一、下载和安装 访问Eclipse MAT官网&#xff0c;下载适用于你操作系统的最新版本的MAT&#xff0c;并进行安装。 二、使用 2.1 导出Heap Dump文件 2.1.1 使用jmap命令导出Heap Dump文件 可以在终端或命令提示符中执行以下命令: jmap -dump:formatb,file/path/to/heapdum…

JSONObject和JSONArray区别及注意事项

1、JSONObject和JSONArray的数据表示形式 JSONObject的数据是用 { } 来表示的&#xff0c; 例如&#xff1a; {"name":"John","age":30,"city":"New York"}而JSONArray&#xff0c;顾名思义是由JSONObject构成的数组&…

NSS [BJDCTF 2020]easy_md5

NSS [BJDCTF 2020]easy_md5 先看题目&#xff0c;给了一个输入框 翻阅了源码没发现什么可疑点 扫一下试试&#xff0c;也没东西 抓个包试试&#xff0c;在响应头发现了hint 那就是奇妙的md5了&#xff0c;输入ffifdyop 原理&#xff1a; ffifdyop的MD5加密结果是276f722736c…

探索音频传输系统:数字声音的无限可能 | 百能云芯

音频传输系统是一项关键的技术&#xff0c;已经在数字时代的各个领域中广泛应用&#xff0c;从音乐流媒体到电话通信&#xff0c;再到多媒体制作。本文将深入探讨音频传输系统的定义、工作原理以及在现代生活中的各种应用&#xff0c;以帮助您更好地了解这一重要技术。 音频传输…

SDK入门

目录 控制台程序 与 Windows程序 Windows程序与Console程序入口的区别 代码编写区别 SDK 基本概念 VS2019 SDK VS2019创建桌面应用程序 ANSI 与 Unicode TCHAR char wchat_t 解决编码的影响 MessageBox() 第一个SDK程序 MessageBox函数 控制台程序 与 Windows程序 …

PPC-R22.1N-T-Q2-G2-NN-FW 使用反馈来解决误差和系统干扰

PPC-R22.1N-T-Q2-G2-NN-FW 使用反馈来解决误差和系统干扰 伺服机构是自动控制系统&#xff0c;用于从数控机床&#xff0c;机器人技术&#xff0c;仓库自动化还有更多。与开环系统相比&#xff0c;带伺服驱动器的闭环系统在运动应用中具有更高的可靠性和精度。怎么会&#xff…

Spring系列综合

目录 1 Spring介绍2 Spring核心技术3 Spring入门案例3.1 Spring jar包下载(了解)3.2 通过mven方式导入jar包3.3 编辑application.xml文件3.4 编辑测试类 4 Spring核心技术IOC4.1 什么是IOC4.2 IOC实现原理 5 Spring创建对象方式5.1 静态工厂模式5.1.1 编辑静态工厂类5.1.2 编辑…

请求分页管理方式(页表机制,缺页中断,地址变换)

请求分页存储管理与基本分页存储管理的主要区别: 在程序执行过程中&#xff0c;当所访问的信息不在内存时&#xff0c;由操作系统负责将所需信息从外存调入内存&#xff0c;然后继续执行程序。&#xff08;操作系统要提供请求调页功能&#xff0c;将缺失页面从外存调入内存)若…