oracle数据库数据迁移到mysql数据库

记一次oracle数据库数据迁移到mysql数据库的全过程,供以后参考!

oracle数据库版本:Oracle Database 11g              mysql数据库版本:mysql8.0.20
oracle数据库服务器地址:119.1.12.123                mysql数据库服务器地址:119.1.12.123

操作环境:windows10        迁移工具:OracleSync2MySQL

1、下载迁移工具

在github上下载工具到本地,下载和操作平台相对应的工具包,我选择下载windows相关

下载后解压压缩包,我解压后的路径:E:\app\OracleSync2MySQL-win-x64-v0.1.3,如下

2、编辑迁移工具的配置文件

打开example.yml文件,编辑相应数据库的连接信息

src:
  host: 119.1.12.123
  port: 1521
  database: orcl
  username: dashuaige
  password: dashuaige666
dest:
  host: 119.1.12.123
  port: 3306
  database: oracle_data
  username: root
  password: dashuaige666
pageSize: 100000
maxParallel: 100
batchRowSize: 1000
tables:
  test:
    - select * from test
exclude:
  operationlog
params: { charset:utf8, maxAllowedPacket:0 }

yml解释:

src:                                                  #是需要被导出的oracle数据库信息
  host: 119.1.12.123                        #oracle地址
  port: 1521                                     #oracle端口
  database: orcl                               #模式名(库名)
  username: dashuaige                   #用户名
  password: dashuaige666              #密码    

dest:                                                #目标mysql数据库信息
  host: 119.1.12.123                        #mysql地址
  port: 3306                                     #mysql端口号
  database: oracle_data                  #数据库名称(需要提前建好)
  username: root                             #用户名
  password: dashuaige666             #密码
pageSize: 100000                          #分页查询每页的记录数
maxParallel: 100                            #可以同时运行 goroutine 的最大并发数(golang语言开发的,goroutine 网上的解释是一个执行单元,我的理解就是一个线程)
batchRowSize: 1000                      #批量插入目标表中的行数
tables:                               #自定义迁移表和自定义查询源表,以yml格式缩进
  test:                                 #我的理解是可以指定要迁移的表,数据用sql语句指定
    - select * from test         #仅个人观点,有待验证,欢迎有兴趣的大佬测试指正
exclude:                             #不迁移到目标数据库的表,缩进为 yml 格式
  operationlog                     #不想迁移的表or需要排除的表(个人观点)
params: { charset:utf8, maxAllowedPacket:0 }        #作者大佬没写,感觉像go程序运行的参数

修改完配置信息后保存文件

3、运行迁移工具

以管理员身份运行cmd窗口,进入到工具目录,E:\app\OracleSync2MySQL-win-x64-v0.1.3(这是我的工具目录)

然后运行命令启动工具(我是全量数据迁移,所以执行以下命令;工具作者还提供了好几种其他的迁移模式,可以根据自己的需求去作者的github上查看)

OracleSync2MySQL.exe --config example.yml

执行完命令后等待迁移完成,完成迁移后会生成数据迁移日志摘要(respect!)

4、比较源数据库和目标数据库数据

在迁移完成后,可以比较源表和目标数据库表行,仅显示不正常的表,输入以下命令查看

OracleSync2MySQL.exe --config example.yml compareDb

example.yml                #你的配置文件名称,例如我的:example.yml(没改过配置文件名称直接使用如上命令即可)

 贴上工具作者大大的一张比较示例图:

表比较的结果,只会显示对比不正常的表。表头解释(个人理解)

Table:                        #顾名思义,数据表名称

SourceRows:            #源数据表数据行数

DestRows:                #目标表数据行数

DestIsExist:              #目标数据库是否存在该表

isOk:                         #是否迁移成功

 至于没有迁移成功的表可以自行手动迁移或者另寻他法!
ps:此文用以记录此次迁移的全过程,仅供参考(个人已经迁移成功)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值