加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库迁移之Oracle 2 MySQL

发布时间:2022-11-02 14:31:29 所属栏目:MsSql教程 来源:未知
导读: 数字化时代,企业数据中心是企业信息化建设的根基,高性能、高可用、高扩展、高安全的架构设计,对提高企业的管理水平、工作效率、服务能力及竞争力具有重要意义。本文主要结合公司近期Ora

数字化时代,企业数据中心是企业信息化建设的根基,高性能、高可用、高扩展、高安全的架构设计,对提高企业的管理水平、工作效率、服务能力及竞争力具有重要意义。本文主要结合公司近期Oracle2MySQL的“去O化”实际业务需求,对不同数据库迁移技术和工具做了对比,详细介绍了使用navicat工具对公司部分Oracle数据迁移到MySQL的具体实践,以期对有同样业务需求的企业提供参考借鉴。

1、说去O,不得不提去IOE

改名玩家数据自助迁移系统是什么_mssql数据库迁移_svn版本库迁移

去IOE的说法起源于互联网行业,由阿里巴巴公司于2010年最先发起。狭义的IOE是指采用IBM服务器、Oracle数据库、EMC存储的数据库架构,广义是指小型机+商业闭源数据库+存储阵列,IOE架构的特点是基于向上扩展(Scale-up)技术的高端设备以及围绕着它们开发的专有硬件、大型数据库和商业中间件。这种IOE架构实际上存在几个问题:第一,在非结构化处理方面能力不足;第二,系统成本高昂,小型机数量比PC数量还高;第三,硬件平台兼容性差,比如惠普硬件无法与IBM系统形成无缝的跨平台;第四,扩展性有限,传统系统都属于TB级,而支持PB级分析交易能力有限。

去IOE的本质就是通过“分布式+开源”架构替代“集中式+封闭”架构,降低成本,提高架构扩展性和可用性,变成彻底的云计算服务模式。阿里目前除了支付宝以外已完成彻底的去IOE化,这无疑对业内提供了成功的范例,政府、电信、教育、医疗、金融、石油石化和电力等以前基于传统IOE架构的行业也将适度跟进这股去IOE的浪潮。而去IOE的最核心的难点就在去Oracle数据库的“去O”上面,这是因为其与业务关联最为密切的特性决定的。下面我就介绍一下Oracle数据库和去O时的几款数据迁移工具。

2、Oracle和MySQL简介

2.1oracle数据库

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组商业软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。具有完整的数据管理功能、完备关系的产品、分布式处理功能,支持数据仓库。逻辑结构由逻辑存储结构(表空间,段,范围,块)和逻辑数据结构(表、视图、序列、存储过程、同义词、索引、簇和数据库链等)组成,而其中的模式对象(逻辑数据结构)和关系形成了数据库的关系设计。纵有千般好,Oracle却有个致命伤:商业、闭源,所以就有了现在的OracletoMySQL。

svn版本库迁移_改名玩家数据自助迁移系统是什么_mssql数据库迁移

2.2MySQL数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下公司。MySQL是最流行的关系型数据库管理系统,与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且MySQL开源……、MySQL开源……、MySQL开源……(重言三)。业界流行的“LAMP“或“LNMP”网站架构中的M就是MySQL。

mssql数据库迁移_svn版本库迁移_改名玩家数据自助迁移系统是什么

3、Oracle2MySQL方法与工具

3.1手动导入:操作岂止是繁琐,而且完全没有效率……

对表结构和数据:①使用SQLDeveloper把oracle的table的schema和Data(.sql和.xls)导出;②使用MySQL的WorkBench创建Table和导入数据。

这里语法上会稍微有一些不同,所以需要略微做一些调整。对于View来说,特别是复杂的有子查询的OracleView说,要导入到MySQL看起来就不是那么容易了。

3.2使用工具DBMover和工具intelligent-converters的OracleToMySQL进行导入

这两个都是收费的软件,而且只能进行表的迁移,不支持迁移视图。和Navicat比较起来,显得功能简单,只能migratetable,而且使用上也不是很方便。

3.3阿里yugong开源项目

yugong是阿里巴巴推出的去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS),由java语言开发。

08年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品,Cobar/TDDL(目前为阿里云DRDS产品),解决了单机Oracle无法满足的扩展性问题,当时也掀起一股去IOE项目的浪潮,愚公这项目因此而诞生,其要解决的目标就是帮助用户完成从Oracle数据迁移到MySQL上,完成去IOE的第一步。

整个数据迁移过程mssql数据库迁移,分为两部分:

(1)全量迁移

(2)增量迁移

改名玩家数据自助迁移系统是什么_svn版本库迁移_mssql数据库迁移

过程描述:

(1)增量数据收集(创建oracle表的增量物化视图)

(2)进行全量复制

(3)进行增量复制(可并行进行数据校验)

(4)原库停写,切到新库

架构

改名玩家数据自助迁移系统是什么_svn版本库迁移_mssql数据库迁移

说明:

(1)一个JvmContainer对应多个instance,每个instance对应于一张表的迁移任务

(2)instance分为三部分

a.extractor (从源数据库上提取数据,可分为全量/增量实现)

b.translator (将源库上的数据按照目标库的需求进行自定义转化)

c.applier (将数据更新到目标库,可分为全量/增量/对比的实现)

3.4使用NavicatPremium工具进行数据库迁移

NavicatPremium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到MySQL、SQLite、Oracle及PostgreSQL资料库,让管理不同类型的资料库更加的方便。结合了其他Navicat成员的功能。有了这种连线到不同资料库类型的能力,NavicatPremium支援在MySQL、SQLite、Oracle及PostgreSQL之间传输资料。它支持大部分的MySQL、SQLite、Oracle及PostgreSQL功能,包括预存程序、事件、触发器、函式、检视等。

svn版本库迁移_mssql数据库迁移_改名玩家数据自助迁移系统是什么

利用NavicatPremium进行Oracle2MySQL的迁移流程:

(1)打开软件>File>NewConnection分别新建Oracle和MySQL连接

改名玩家数据自助迁移系统是什么_svn版本库迁移_mssql数据库迁移

【注意】Oracle连接之前需要对软件进行OCI文件配置,oci.dll文件就在Oracleclient文件里面,这和配置PLSQLDeveloper差不多。

改名玩家数据自助迁移系统是什么_mssql数据库迁移_svn版本库迁移

svn版本库迁移_mssql数据库迁移_改名玩家数据自助迁移系统是什么

(2)输入数据库服务器地址、端口号和数据库用户名、密码,分别建立Oracle和MySQL连接如下:

改名玩家数据自助迁移系统是什么_svn版本库迁移_mssql数据库迁移

mssql数据库迁移_svn版本库迁移_改名玩家数据自助迁移系统是什么

(3)连接好之后,在目标Oracle数据库上:右击>DataTransfer>General

svn版本库迁移_改名玩家数据自助迁移系统是什么_mssql数据库迁移

改名玩家数据自助迁移系统是什么_svn版本库迁移_mssql数据库迁移

(4)配置数据迁移选择要迁移的数据表、视图等设置迁移目标数据库

改名玩家数据自助迁移系统是什么_svn版本库迁移_mssql数据库迁移

(5)高级选项设置

svn版本库迁移_mssql数据库迁移_改名玩家数据自助迁移系统是什么

(6)数据迁移成功

改名玩家数据自助迁移系统是什么_mssql数据库迁移_svn版本库迁移

PS:迁移后发现数据库显示乱码,肯定是字符编码不一致的问题。在目标数据库MySQL上右击>ConnectionProperties将“UseMySQLcharcterset”复选框上的勾去掉,在Encoding选项下拉框中选择UTF-8编码格式。重新迁移,大功告成。

mssql数据库迁移_svn版本库迁移_改名玩家数据自助迁移系统是什么

svn版本库迁移_改名玩家数据自助迁移系统是什么_mssql数据库迁移

最后,补充一下备份导出MySQL.sql文件的方法:右击数据库>DumpSQLFile>StructureAndData

mssql数据库迁移_svn版本库迁移_改名玩家数据自助迁移系统是什么

改名玩家数据自助迁移系统是什么_svn版本库迁移_mssql数据库迁移

4、总结

随着阿里去IOE化的示范效应越来越明显,继大批互联网企业之后,政府、电信、教育、医疗、金融、石油石化和电力等以前基于传统IOE架构的传统公共服务行业必将下定决心跟进这股去IOE的浪潮,数据迁移的技术需求会越来越大,本文主要介绍了几种OracletoMySQL的方法和工具,并结合公司部分Oracle2MySQL数据迁移业务需求,利用NavicatPremium工具做了OracletoMySQL技术实践,希望能够为有数据迁移需求的机构提供参考借鉴。

参考文献:

[1]浅谈运营商去IOE

[2]数据库迁移之从oracle到MySQL

[3]阿里巴巴yugong项目

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!