`
bywei
  • 浏览: 43423 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

从Oracle迁移数据到MySql方法大全

阅读更多

最近工作需要从Oracle迁移大量数据到MySql,由于涉及不深,便网上学习了很多的方法,现总结Oracle迁移大量数据到MySql如下:

一,牛人编写的Oracle到MySQL的数据迁移工具

从Oracle迁移数据到MySQL的小程序,ora2mysql下载地址 http://www.anysql.net/software/ora2mysql.zip
使用方法如下:
    D:\>ora2mysql user1=scott/tiger user2=/@localhost:3306:test table=emp
            0 rows processed at 2011-04-02 15:03:08.
            2 rows processed at 2011-04-02 15:03:08.

    在速度方面,由于不支持Array操作,因此速度比较慢,希望Oracle能让SQL * Plus也能连接MySQL库,或改造一下MySQL客户端,增加Array接口。

    D:\>ora2mysql user1=scott/tiger user2=/@::test table1=emp_bak table2=emp
            0 rows processed at 2011-04-02 19:48:51.
        100000 rows processed at 2011-04-02 19:49:17.
        200000 rows processed at 2011-04-02 19:49:42.
        300000 rows processed at 2011-04-02 19:50:07.
        400000 rows processed at 2011-04-02 19:50:32.
        500000 rows processed at 2011-04-02 19:50:57.
        600000 rows processed at 2011-04-02 19:51:23.
        700000 rows processed at 2011-04-02 19:51:48.
        800000 rows processed at 2011-04-02 19:52:14.
        900000 rows processed at 2011-04-02 19:52:39.
      1000000 rows processed at 2011-04-02 19:53:03.
      1100000 rows processed at 2011-04-02 19:53:29.
      1200000 rows processed at 2011-04-02 19:53:56.
      1300000 rows processed at 2011-04-02 19:54:24.
      1400000 rows processed at 2011-04-02 19:54:53.

    目前还不支持BLOB类型, 也不支持字符集的设置

   作者地址:http://www.anysql.net/tools/oracle-mysql-data-migration-tool.html/comment-page-1#comment-4146


二,从oracle导数据到mysql,使用命令
   (1)在使用pl/sql developer生成的sql文件然后插入到mysql时由于to_date()和chr()问题,insert时会失败。
   (2)phpmyadmin里面有个SQL compatibility mode 的 Oracle选项,具体作用还未知。
   (3)DBA高效数据迁移方法:先导出成文本,然后LOAD DATA 命令直接导入。
建议用

        select u_id||'&'||u_pid||'&'||str_1||'&' ||str_2||'&' ||str_3||'&'||tm_create_time   from table_foo

        这样的形式,在sql plus里面导出用&分割的数据,然后在mysql里面用

        load data local infile '~/table_foo' into table tbl_gbase_inf fields terminated by '&';

        导入。

如果str里面包含多行文本,而默认是文本文件里一行对应数据库里一行数据的,多行文本被误认为是多行数据,格式就不对,导入出错。可以在pl/sql developer里面进行以下查询:

select t.*,'$' from tbl_foo t

        用$作 为一行数据的结束符,这样即使遇到回车,mysql仍然能够正确处理了。然后把结果全选,右键菜单导出结果到TSV文件("导出结果"->"TSV 文件")。这个文件的格式就是一行一项数据的文本文件了,而且字段之间是用tab分隔的,正好就是load data命令的默认分隔符。
        在 select语句里加了一个'$'作为最后一个域,也就是说在文本文件里,它前面会有一个tab,后面会有一个回车换行。所以要用ultraedit把 '\t\$\r\n'(Ultredit正则)都替换成'$',这样一搞,文本文件基本上没法看了,但在load edit眼里,它就是一个正好合胃口的美味的数据源了。用如下命令导入:

load data local infile '~/table_foo' into table tbl_gbase_inf lines terminated by '%';show warnings;

回 车搞定。可以在文件名和into之间插上replace关键字,自动替换掉原有数据。 注意,load data可能不是立即生效的,可以show processlist;看看是否被delay了,过一段时间表没人访问应该就会插进去了。  另外,如果插入的中文显示出来是乱码,就用
show   variables   like   "%char%";

         看看结果是不是长这样的:

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

        如果database或server的字符集不是utf8,用set 命令将其改为utf8,然后重新load data,应该就不会是乱码。

三,使用mysql工具迁移数据

        1. MySQL Administrator —— MySQL 服务器的管理利器。这个工具解决了MySQL管理的很多问题,譬如:可以让你简单通过GUI界面模式选择热备份数据库计划,或者是冷备份,你可以方便的选 择备份时间,每周或是每日的什么时候进行。
        2.MySQL Query Browser —— 查询工具,使用起来也很简单,而且支持调试等功能。
        3.MySQL Migration Kit —— 数据库迁移工具,如何将现有的Oracle或MSSQL数据库转移到MySQL上,如果你水平够高,当然自己直接搞,对一般用户,MySQL开发者还是很 贴心的,因为他们知道,很多人不愿意选择这个免费数据库的原因其实是因为迁移的成本以及复杂度。
        所以有了这个工具,一般人员就可 以很简单的将现有的Oracle和MSSQL数据库迁移到MySQL上了(以后估计还会有针对其他数据库的迁移工具,等着吧)。现版本的 Migration Kit不支持对Stored Procedure的迁移,function或Stored Procedure的迁移。

  MySQL Migration Kit下载地址:www.mysql.com/products/tools/migration-toolkit/

四,推荐数据迁移转换网站

        http://www.convert-in.com/ora2sql.htm
        该网站支持一下数据库的数据迁移,具体的效果还未一一测试过。
Access to MySQL,Access to Oracle,DBF to MySQL,Excel Export Kit,Excel to MySQL,Excel to Oracle,MSSQL to MySQL,MySQL Migration Toolkit,MySQL to Access,MySQL to Excel,MySQL to MSSQL,MySQL to Oracle,Oracle Migration Toolkit,Oracle to MySQL,OraDump Export Kit,OraDump to Access,OraDump to CSV,OraDump to Excel,OraDump to MSSQL,OraDump to MySQL,PDF to Excel,PDF to Word,PDF to XML,PDF Export Kit,PostgreSQL-to-MySQL

 

博文地址:从Oracle迁移数据到MySql方法大全

更多:

分享到:
评论

相关推荐

    从Oracle迁移数据到MySql-工具oracle2mysqlcn

    数据迁移 oracle转mysql oracle数据迁移 mysql数据迁移 从Oracle迁移数据到MySql-工具oracle2mysqlcn 从Oracle迁移数据到MySql方法大全文章地址: http://www.bywei.cn/post/111.html

    从Oracle迁移到MySQL经典实战

    《从Oracle迁移到MySQL经典实战》是一本针对企业节省成本、优化数据库架构的重要指南。Oracle数据库系统以其强大的功能和稳定性在企业级应用中占据主导地位,然而,随着MySQL的不断发展和成熟,其开源、免费的特性使...

    记使用Oracle SQL Developer 迁移MySql 数据至 Oracle.docx

    总结来说,从MySQL到Oracle的数据迁移是一个涉及多个步骤的过程,需要正确配置和管理数据库环境,确保用户和表空间设置正确,并且使用像SQL Developer这样的工具来简化迁移。在迁移过程中遇到问题时,要逐一排查,如...

    Oracle到Mysql数据库迁移总结

    Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结

    Oracle导Mysql适用于百、千万级别数据迁移

    Oracle导Mysql适用于百、千万级别数据迁移,速度是kettle的10倍以上数据库迁移 数据迁移 千万级 亿万级数据,MySQL oracle关系型 现需要开发一套程序用来快速迁移数据库,要求如下: 1.使用人员可以指定迁移数据库...

    mysql和Oracle数据互相迁移

    Oracle和Mysql互相迁移数据,可同时迁移多个不同数据库数据(并发的将数据在oracle和mysql之间随意迁移),效率高(实际测试表明,将100万数据从oracle迁移到mysql耗时2分30秒,其中1分30秒耗在oracle查询上),支持...

    从Oracle迁移到MySQL的那些坑.pdf

    总的来说,从Oracle迁移到MySQL涉及多方面的考量,包括数据库替代、工具选择、数据一致性、性能优化等。每个工具都有其优点和缺点,应根据具体项目需求来权衡选择。迁移过程需要谨慎规划和实施,以确保业务连续性和...

    oracle迁移mysql工具使用方法.docx

    Oracle 迁移 MySQL 工具使用方法是指通过使用专门的迁移工具将 Oracle 数据库迁移到 MySQL 数据库的过程。该方法可以帮助用户快速、安全地将 Oracle 数据库迁移到 MySQL 数据库,减少迁移过程中的风险和成本。 一、...

    oracle迁移到mysql问题记录.txt

    oracle迁移到mysql问题记录

    PHP将数据从Oracle向Mysql数据迁移的技术要领

    总的来说,从Oracle迁移到Mysql的过程涉及多个步骤,包括数据和结构的迁移、类型转换、约束和索引的处理以及后期的验证和优化。通过编写PHP脚本,可以有效地控制迁移过程,确保迁移的成功和数据的准确性。

    mysql-oracle数据同步

    当业务发展需要将MySQL中的数据迁移到Oracle时,数据同步技术就显得尤为重要。 数据同步可以分为实时同步和批量同步。实时同步通常通过触发器、消息队列或者中间件实现,确保数据一旦在源数据库更新,目标数据库...

    数据库迁移之从oracle 到 MySQL

    本篇文章将详述从Oracle数据库到MySQL的迁移过程,主要关注关键步骤、工具选择以及可能遇到的问题。 首先,我们需要理解Oracle和MySQL之间的核心差异。Oracle是商业级的关系型数据库管理系统,以其强大的性能和高级...

    Mysql迁移Oracle方案

    在进行MySQL到Oracle的数据迁移之前,首先需要做好一系列的准备工作。 ##### 1.1 导入机 - **安装Oracle 11g数据库**:确保安装过程中正确配置数据库的各项参数,包括数据库实例名、管理端口等。 - **安装MySQL...

    基于JDBC同步Oracle到MySQL

    分别有:数据源配置、数据表结构转换、字段更新、数据迁移、根据oracle SQL的UPDATE DELETE 事物执行记录转为Mysql可执行SQL,同步执行到MySql数据库,此项目为个人兴趣爱好练手项目,项目问题欢迎留言,共同进步...

    数据库迁移 数据迁移 千万级 亿万级数据MySQL oracle关系型

    1.使用人员可以指定迁移数据库类型 如:(orcal,sqlServer,csv 迁移至mysql) 2.在迁移数据库时,可以只迁移指定字段. 3.开发多任务的平台,按权重去执行任务,如:权重为1,1,2,3,4 那么1,1的权重一起执行,执行完毕后2...

    oracle数据迁移到mysql小工具

    在某些场景下,用户可能需要将Oracle数据库中的数据迁移到MySQL中,例如在项目转型、数据整合或降低成本时。 "oracle数据迁移到mysql小工具" 是一个专门用于简化这一过程的实用程序。这个小工具的主要功能是帮助...

    Mysql转Oracle软件 DBMover for Mysql to Oracle

    Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...

    Oracle goldengate 数据迁移 从 mysql到mysql 实战.docx

    ### Oracle GoldenGate 数据迁移实战:从 MySQL 到 MySQL #### 概述 Oracle GoldenGate (OGG) 是一款强大的数据库复制工具,支持多种数据库平台之间的数据迁移与同步。本实战文档详细介绍了如何利用 OGG 从 MySQL ...

    oracle到mysql建表语句迁移

    oracle向mysql建表语句的迁移。 直接表结构的生成sql脚本

    迁移mysql数据到oracle上

    ### 迁移MySQL数据到Oracle上的详细步骤 在企业级应用环境中,数据库迁移是一个常见的需求。随着业务的发展或系统架构的变化,将数据从一个数据库管理系统迁移到另一个数据库管理系统的需求日益增多。本文主要介绍...

Global site tag (gtag.js) - Google Analytics