使用datax-web把oracle数据库中的数据导入到mysql

一、所需环境

Windows系统电脑、Python2.7.18(需要配置环境变量)、oracle环境、mysql环境、jdk1.8、navicat、git

python安装下载 https://www.python.org/downloads/release/python-2718/
选择 Windows x86-64 MSI installer
win+x 选择系统 找到高级系统设置 环境变量 在系统变量和用户变量的path上添加
C:\Python27
cmd 运行python,有结果说明安装好了

二、安装Datax

1.下载Datax
http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

2.下载Datax-web服务
https://gitee.com/WeiYe-Jing/datax-web?_from=gitee_search

在d盘新建文件夹 datax-web,右键 git bash here
输入

git clone https://gitee.com/WeiYe-Jing/datax-web?_from=gitee_search  

回车
Datax-web是在Datax的基础上运行的。

三、验证是否正确datax是否安装

1.打开cmd界面
Win+R

2.设置代码页编号
输入

CHCP 65001  

防止中文乱码

3.切换到Datax安装目录
切换到安装目录下的bin目录
代码:

d:
cd datax\bin

4.查看模板
命令行:

python datax.py -r streamreader -w streamwriter

5.使用Datax
将相关文件中的oracle2mysql.json放到datax/job下,在bin目录下执行如下代码:

D:\datax\bin>python datax.py ../job/oracle2mysql.json

oracle2mysql.json示例

{
  "job": {
    "setting": {
      "speed": {
        "channel": 3,
        "byte": 1048576
      },
      "errorLimit": {
        "record": 0,
        "percentage": 0.02
      }
    },
    "content": [
      {
        "reader": {
          "name": "oraclereader",
          "parameter": {
            "username": "wangdong",
            "password": "orcl",
            "column": [
              "\"GENDER\""
            ],
            "splitPk": "",
            "connection": [
              {
                "table": [
                  "STUDENT"
                ],
                "jdbcUrl": [
                  "jdbc:oracle:thin:@127.0.0.1:1521:wd"
                ]
              }
            ]
          }
        },
        "writer": {
          "name": "mysqlwriter",
          "parameter": {
            "username": "root",
            "password": "root",
            "column": [
              "`email`"
            ],
            "connection": [
              {
                "table": [
                  "s_employee"
                ],
                "jdbcUrl": "jdbc:mysql://localhost:3306/student"
              }
            ]
          }
        }
      }
    ]
  }
}

这个json文件里声明了从哪个数据库的哪张表 到哪个数据库的哪张表

四.用navicat连接mysql数据库和oracle数据库

注意打开 win+R 输入services.msc 打开oracle监听
连接oracle时不要以sys登录,要以用户来登录

五.运行datax-web

1.在D:\datax-web\bin\db 目录下找到数据库 ,datax_web.sql。
在mysql数据库中运行这个文件。
2.修改applition.yml等配置。具体看这个
https://www.cnblogs.com/javalinux/p/15016094.html
3.cirl+shift+R 搜索 application.
先运行DataXExecutorApplication,再运行DataXAdminApplication
4.跑起来后,在控制台找到
http://127.0.0.1:8080/index.html
运行

六。操作datax-web

1.登录
账号admin 密码123456
2.找到数据源管理,输入你的两个数据库
3.执行器管理,新建一个执行器。
4.任务构建。
5.执行任务,然后查看日志即可。

注意事项。

1.删除D:\datax\plugin\reader和D:\datax\plugin\writer下所有的以.开头的文件。
2.注意mysql版本的不同,如果你用的是mysql最新版本,可能需要更改驱动
3.oracle的用户需要赋予权限
grant connect,RESOURCE,DBA to yonghu
4.writer有很多不同的模式
在parameter里 “writeMode”:“replace” 这样的话 可以更新。

简单测试

i.2W条简单数据
2022-02-17 14:20:19 [AnalysisStatistics.analysisStatisticsLog-53] 任务总计耗时 : 15s
2022-02-17 14:20:19 [AnalysisStatistics.analysisStatisticsLog-53] 读出记录总数 : 19991

ii.修改十条数据 用时
2022-02-17 14:35:43 [AnalysisStatistics.analysisStatisticsLog-53] 任务总计耗时 : 15s
2022-02-17 14:35:43 [AnalysisStatistics.analysisStatisticsLog-53] 读出记录总数 : 19991

iii.删除十条数据 用时(没删除成功)
2022-02-17 14:45:54 [AnalysisStatistics.analysisStatisticsLog-53] 任务总计耗时 : 15s
2022-02-17 14:45:54 [AnalysisStatistics.analysisStatisticsLog-53] 读出记录总数 : 19971

iv.增加十条数据 用时
任务启动时刻 : 2022-02-17 15:06:20
2022-02-17 15:06:35 [AnalysisStatistics.analysisStatisticsLog-53] 任务总计耗时 : 15s
2022-02-17 15:06:35 [AnalysisStatistics.analysisStatisticsLog-53] 读出记录总数 : 19981

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值