navicat 数据传输 /导出 sql 等功能,跑单表都内存溢出。
dbeaver 也一样直接卡主。
oracle 数据库表设计还很坑爹地用了浮点型做主键,然后利用序列自增
自动化迁移 mysql 之后还要修改字段为整型才能改自增
|      1threegrandfather      2020-05-27 11:21:02 +08:00 你在想什么呢? oracle 迁移 mysql 。你自己找开发一起核对吧。慢慢的过每一个表每一个字段吧。 | 
|      2duwan      2020-05-27 11:21:17 +08:00  5 用 datax 啊,https://github.com/alibaba/DataX 迁移过近百 T 的数据 | 
|      3dorothyREN      2020-05-27 11:21:53 +08:00 内存溢出 怕不是用的 32 位的 navicat 吧 | 
|      4FONG2 OP @threegrandfather 我就是开发。。。小组没 dba 。。。字段倒是没问题,问题是数据怎么导出来导进去?我现在随便导一个大表 电脑都内存溢出。。。 | 
|      5FONG2 OP @dorothyREN 16G 内存+12G 虚拟内存 跑不赢 13g 单表  直接报内存不足 卡死 | 
|  |      6wuwukai007      2020-05-27 11:22:56 +08:00 via Android oracle 里面的函数触发器怎么办 | 
|      8ohao      2020-05-27 11:23:09 +08:00 2 楼正解,不行让阿里的工程师协助,先迁到阿里云,在迁移到自己的物理机 | 
|      11liqingcan      2020-05-27 11:28:02 +08:00 换数据库成本太大了吧。 | 
|  |      12fixend      2020-05-27 11:30:26 +08:00 我当年是自己写程序,查出数据,再批量插入的,还好表不多,只是数据量大。 70 、80G,转了我一天一夜。 | 
|  |      13abcbuzhiming      2020-05-27 12:04:39 +08:00 这种如果没有工具的话。只能自己写程序,上游标,一行行的读然后转,然后插入 | 
|  |      15levelworm      2020-05-27 12:07:49 +08:00 via Android 好奇一把,自己写 python 一点点挪动行不行?不过问题是怎么确认没漏没重呐? | 
|  |      16levelworm      2020-05-27 12:09:38 +08:00 via Android 又想了一下,按照天来拆和写程序挪怎么样? | 
|  |      17wangyzj      2020-05-27 12:13:25 +08:00 datax 这类工具慢慢搞把 没什么特别好的办法 存储过程啥的估计还得单独想办法 | 
|      20cstj0505      2020-05-27 12:27:23 +08:00 via Android 分两部分,表结构迁移,这部分如果没工具就导出慢慢改,确保逻辑一致。 导数据,很多工具都行 | 
|  |      21ant2017      2020-05-27 12:31:42 +08:00 via Android kettle 可以吧 | 
|  |      22MintZX      2020-05-27 12:31:48 +08:00 via iPhone 几百 G 也不是很多,csv 分页弄呗 | 
|      23fewok      2020-05-27 12:43:53 +08:00 就说停机不??? | 
|      241cming      2020-05-27 12:50:57 +08:00  1 DATAX 好评加一 迁移过上亿数据 | 
|      25xichen      2020-05-27 12:51:44 +08:00 试试 azure datafactory ? | 
|      26soulzz      2020-05-27 12:57:20 +08:00 虽然我用的 mongoDb,但也应该差不多。之前我遇到的情况是迁移 2000 万记录的单表,整体查出来肯定爆内存, 用游标十几分钟就能全表迁移走 | 
|  |      27dog82      2020-05-27 13:00:22 +08:00 分步骤做,先迁移数据字典和数据量小的表。 大表写脚本或代码迁移,一般系统里的大表不会太多。 | 
|  |      28robinlovemaggie      2020-05-27 13:12:27 +08:00 疫情的无情都比不上 Oracle 业界毒瘤的绝情(降个价会死人吗?) | 
|      29hantsy      2020-05-27 13:13:07 +08:00  1 如果用了大量专有的数据库特性( Function,Procedure 等),任何自动迁移工具都是没用的。 以前迁移一个遗留系统,200G 的数据库,从 Borland Firebird 到 MySQL,基本是手写一个程序来跑的,当然为了适应新的程序,新的数据库 Schemas 是改动不少,数据库脚本不可能完成。 | 
|  |      30lithiumii      2020-05-27 13:14:55 +08:00 via Android 又不要 etl,这不是两个 for 循环的事儿吗? | 
|      31leqoqo      2020-05-27 13:17:05 +08:00 1,更换更牛的硬件或者优化数据库导出配置. 2,单表测试一次导出多少数据不会 gg,写程序生成这样的 sql 脚本,找一个你能接受的时间 ... offset 0 limit 1000000; ... offset 100000 limit 100000; 3,创建 mysql 数据库,写建库表脚本, 4,用程序合并表的导出的这些文本文件为一个文件. 5,用程序生成 mysql load file 脚本, disable 表索引 6,enable 索引, 以上操作注意留够足够的硬盘空间. | 
|  |      32weizhen199      2020-05-27 13:26:47 +08:00 DB 在 SSD 上 随便写个程序 select insert 跑满 1000M 网卡应该都不是问题吧 | 
|  |      33aladdindingding      2020-05-27 13:37:57 +08:00 python 的生成器 | 
|      34podel      2020-05-27 13:40:11 +08:00 阿里云有一个 叫做 DTS 的数据传输服务,可以支持不同数据库之间传输。 | 
|  |      35Marstin      2020-05-27 13:44:38 +08:00 导出 sql 是什么鬼,不是导 dmp 吗 | 
|  |      36ctOS1H      2020-05-27 14:06:48 +08:00 datax 可以 | 
|  |      37tiiis      2020-05-27 14:34:17 +08:00 1.datax | 
|  |      38passerbytiny      2020-05-27 14:36:06 +08:00 via Android 你这不是迁移,是数据割接,光靠数据库的工具是很难成功的。 | 
|  |      39angeltop      2020-05-27 14:48:42 +08:00 阿里云 DTS 吧,上云后再传下来也行 | 
|      40weifuqiao1989      2020-05-27 15:09:27 +08:00 说下我用的比较多的工具 kettle 这样的 etl 工具 适用表不多的情况 比较好用,msdts 也能用 ESF Database Migration Toolkit - Professional 这个比较简单 | 
|  |      41admin7785      2020-05-27 15:48:33 +08:00 kettle 可以试一下 | 
|  |      42xsm1890      2020-05-27 15:56:24 +08:00 去 IOE 不是这么去的啊。我是不会建议这么做的。直接把数据迁移到 MySQL 不是问题,问题是业务怎么兼容,毕竟业务第一。如果是生产环境,真的不建议直接迁过去,后面会留下很大的坑的。Oracle 随便几个存储过程就可能让你到了 MySQL 后重构代码。好的去 ioe 做法是,慢慢的把业务一个一个外迁,同时保证两份数据,所有项目迁完后,再把 Oracle 去掉。业务第一。 | 
|      43FONG2 OP  1 | 
|  |      44Hilalum      2020-05-27 17:12:20 +08:00 想起我实习的时候干过这活哈哈哈哈 | 
|  |      45wanguorui123      2020-05-27 17:15:45 +08:00 MySQL 的性能顶不住吧 | 
|  |      46LightLolo      2020-05-27 17:31:52 +08:00 kettle +1 | 
|  |      47xjmroot      2020-05-27 17:45:17 +08:00 用过 kettle 做 mysql 到 postgres 的迁移,还不错 | 
|  |      48ncwtf      2020-05-27 18:03:18 +08:00 streamsets 也行吧 | 
|  |      54miao1007      2020-05-27 23:01:32 +08:00 via iPhone  1 现在主流都用 postgres 了,mysql 好多标准抖不支持,半残一样 | 
|      55x2ve      2020-05-27 23:13:06 +08:00 via iPhone kettle 和 datax 都用过 没啥区别 都满足楼主的需求 | 
|      56Ravenddd      2020-05-27 23:31:20 +08:00 via Android 之前也碰过 oracle 迁移 mysql 的情况,是写程序一个一个字段同步,主从库类似,差不多同步完数据时候,实时同步+业务代码迁移,真的蛋疼 | 
|  |      58angeltop      2020-05-28 09:34:09 +08:00 用 Mysql 8.0 MGR 多主多写吧,前端提交代码改改,写需要稍微控制一下。 | 
|      59Yinnfeng      2020-05-28 09:55:34 +08:00 datax + 1 | 
|  |      60Oysmart      2020-06-04 16:38:49 +08:00 |