有一个上百 G 的 Oracle 数据库,要整体迁移至 MySql,麻烦各位大佬给个思路

2020-05-27 11:19:16 +08:00
 FONG2

navicat 数据传输 /导出 sql 等功能,跑单表都内存溢出。

dbeaver 也一样直接卡主。

oracle 数据库表设计还很坑爹地用了浮点型做主键,然后利用序列自增

自动化迁移 mysql 之后还要修改字段为整型才能改自增

7080 次点击
所在节点    数据库
60 条回复
threegrandfather
2020-05-27 11:21:02 +08:00
你在想什么呢? oracle 迁移 mysql 。你自己找开发一起核对吧。慢慢的过每一个表每一个字段吧。
duwan
2020-05-27 11:21:17 +08:00
用 datax 啊,https://github.com/alibaba/DataX 迁移过近百 T 的数据
dorothyREN
2020-05-27 11:21:53 +08:00
内存溢出 怕不是用的 32 位的 navicat 吧
FONG2
2020-05-27 11:22:05 +08:00
@threegrandfather 我就是开发。。。小组没 dba 。。。字段倒是没问题,问题是数据怎么导出来导进去?我现在随便导一个大表 电脑都内存溢出。。。
FONG2
2020-05-27 11:22:42 +08:00
@dorothyREN 16G 内存+12G 虚拟内存 跑不赢 13g 单表 直接报内存不足 卡死
wuwukai007
2020-05-27 11:22:56 +08:00
oracle 里面的函数触发器怎么办
FONG2
2020-05-27 11:22:58 +08:00
@duwan thx 我看看
ohao
2020-05-27 11:23:09 +08:00
2 楼正解,不行让阿里的工程师协助,先迁到阿里云,在迁移到自己的物理机
duwan
2020-05-27 11:25:08 +08:00
@FONG2 现有的插件要是满足不了你的业务,可以自己写插件,也很简单的。
FONG2
2020-05-27 11:25:57 +08:00
@ohao 安全问题上不了云
liqingcan
2020-05-27 11:28:02 +08:00
换数据库成本太大了吧。
fixend
2020-05-27 11:30:26 +08:00
我当年是自己写程序,查出数据,再批量插入的,还好表不多,只是数据量大。
70 、80G,转了我一天一夜。
abcbuzhiming
2020-05-27 12:04:39 +08:00
这种如果没有工具的话。只能自己写程序,上游标,一行行的读然后转,然后插入
rockyou12
2020-05-27 12:07:42 +08:00
@FONG2 datax 是 etl 工具,阿里开发的,但不需要上云啊,你要迁也只能用这种东西稍微方便点
levelworm
2020-05-27 12:07:49 +08:00
好奇一把,自己写 python 一点点挪动行不行?不过问题是怎么确认没漏没重呐?
levelworm
2020-05-27 12:09:38 +08:00
又想了一下,按照天来拆和写程序挪怎么样?
wangyzj
2020-05-27 12:13:25 +08:00
datax 这类工具慢慢搞把
没什么特别好的办法
存储过程啥的估计还得单独想办法
FONG2
2020-05-27 12:26:13 +08:00
@fixend 我的也就几个大表数据特别多,其他的可以 navicat 一键迁移
FONG2
2020-05-27 12:27:10 +08:00
@rockyou12 我说上云,回复的是 8L 的建议
cstj0505
2020-05-27 12:27:23 +08:00
分两部分,表结构迁移,这部分如果没工具就导出慢慢改,确保逻辑一致。
导数据,很多工具都行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/675899

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX