MySql的.sql文件导入到Oracle 11g

yeziblo 2017-03-27 10:18:14
小弟最近实习,有时候会遇到别的人发来的MySql中的.sql文件,让我把这个文件中的数据导入到Oracle中去。
.sql文件用txt文档打开的格式大致如下:

create table XXX(
‘id’ integer not null,
'name' varchar not null,
'age' integer not null
);

insert into XXX values(AAA,BBB,CCC);
insert into XXX values(AAA,BBB,CCC);
insert into XXX values(AAA,BBB,CCC);
...........................(中间有几万,甚至几十万行insert语句)
insert into XXX values(AAA,BBB,CCC);

遇到这种问题,我一般都是先在Oracle中创建一张对应的表,把MySql中的数据类型转为相应的Oracle数据类型,比如varchar转为varchar2等……然后复制、粘贴所有的insert语句到PL/SQL developer中。

不过当遇到insert语句有几十万行的时候,这个效率就会变得……非常非常非常的慢。

我试过先把.sql弄到Mysql中,再使用ETL工具导入到oracle。但发现即便这样,几十万条的insert语句也会耗费很长的时间。

想问一下大家有没有什么好的方法……dmp文件导入就非常快,.sql逐条插入实在太慢了。

新手刚实习不久,没什么经验,在这里感谢各位前辈的指教了~!
...全文
1652 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACE-2017 2017-04-20
  • 打赏
  • 举报
回复
把 .sql 文件整理好了然后在 SQPLUS 窗口中 SQL>@加目录位置a.sql
qq_28538637 2017-04-19
  • 打赏
  • 举报
回复
sqlldr 是最好的选择。。
Diza1986 2017-03-27
  • 打赏
  • 举报
回复
sqlldr 是很快的, 以前有过导数据的作业,sqlldr比insert快多了
js14982 2017-03-27
  • 打赏
  • 举报
回复
没有太多办法,dmp文件是oracle导出来的文件,只能适应导入oracle中。 你可以试试用文本导入oracle的方式(sqlldr),看效率会高一些否。
卖水果的net 2017-03-27
  • 打赏
  • 举报
回复
把 .sql 文件整理好了,在 SQPLUS 窗口中 SQL>@a.sql
yeziblo 2017-03-27
  • 打赏
  • 举报
回复
引用 3 楼 Diza1986 的回复:
sqlldr 是很快的, 以前有过导数据的作业,sqlldr比insert快多了
没有用过sqlldr,我去试试看

17,381

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧