从MySQL到Oracle的数据库迁移方法、装置及计算机设备制造方法及图纸

技术编号:23149040 阅读:31 留言:0更新日期:2020-01-18 13:27
本发明专利技术涉及一种从MySQL到Oracle的数据库迁移方法、装置及计算机设备,方法包括:选定初始MySQL数据库;获取初始MySQL数据库所有的数据库表的表名信息;根据表名信息循环遍历数据库表,获取初始表结构定义信息;根据数据库表和初始表结构定义信息,转换得到符合Oracle要求的目标表结构定义信息;根据数据库表和目标表结构定义信息生成目标Oracle数据库。本方案获取表名信息和初始表结构定义信息,并转换初始表结构定义信息得到目标表结构定义信息,最后生成对应的目标Oracle数据库,可以根据实际需要选择数据库进行迁移,保证准确迁移数据库的同时降低了迁移成本。

Database migration method, device and computer equipment from Mysql to Oracle

【技术实现步骤摘要】
从MySQL到Oracle的数据库迁移方法、装置及计算机设备
本专利技术涉及数据迁移,更具体地说是指一种从MySQL到Oracle的数据库迁移方法、装置及计算机设备。
技术介绍
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。ORACLE是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。MySQL和Oracel是企业业务系统里面常用的数据库管理系统,但是存在不完全兼容的问题,当业务系统的数据库从MySQL迁移到Oracle的时候,常需要把对应表结构及数据迁移过来,现在常用的数据库客户端里面的迁移工具通常不能按照具体业务需求来导出自己需要的数据库,在迁移过程中,数据库比较多的情况下,将带来较高迁移成本。现有的数据库迁移工具中,在迁移的操作中,大多没有可定制化的设置,即使有,可配置化的地方也比较少,对于生产的数据库迁移脚本,不管是格式还是语句,可能不一定是自己想要的,那么在迁移过程中,数据库比较多的情况下,将带来较高迁移成本。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种从MySQL到Oracle的数据库迁移方法、装置及计算机设备。为实现上述目的,本专利技术采用以下技术方案:一种从MySQL到Oracle的数据库迁移方法,包括以下步骤:r>选定初始MySQL数据库;获取初始MySQL数据库所有的数据库表的表名信息;根据表名信息循环遍历数据库表,获取初始表结构定义信息;根据数据库表和初始表结构定义信息,转换得到符合Oracle要求的目标表结构定义信息;根据数据库表和目标表结构定义信息生成目标Oracle数据库。进一步地,所述获取初始MySQL数据库所有的数据库表的表名信息的步骤,包括:通过showtable语句调用初始MySQL数据库中所有的数据库表,获取对应的表名信息。进一步地,所述根据表名信息循环遍历数据库表,获取初始表结构定义信息的步骤,包括:通过desc+[表名]语句循环遍历对应的数据库表,获取初始表结构定义信息,所述的初始表结构定义信息包含字段列名、字段列的数据类型、是否可空、是否为主键或者唯一键、默认值以及附加信息。进一步地,所述根据数据库表和目标表结构定义信息生成目标Oracle数据库的步骤,包括:将目标表结构定义信息基于Oracle的数据库建表语法,生成建表语句;将所有建表语句拼接,生成SQL定义语句文件;将SQL定义语句文件导入Oracle中,生成目标Oracle数据库。本专利技术还采用以下技术方案:一种从MySQL到Oracle的数据库迁移装置,包括:数据库选定单元,用于选定初始MySQL数据库;第一获取单元,用于获取初始MySQL数据库所有的数据库表的表名信息;第二获取单元,用于根据表名信息循环遍历数据库表,获取初始表结构定义信息;格式转换单元,用于根据数据库表和初始表结构定义信息,转换得到符合Oracle要求的目标表结构定义信息;数据库生成单元,用于根据数据库表和目标表结构定义信息生成目标Oracle数据库。进一步地,所述第一获取单元包括表名获取模块,用于通过showtable语句调用初始MySQL数据库中所有的数据库表,获取对应的表名信息。进一步地,所述第二获取单元包括表结构获取模块,用于通过desc+[表名]语句循环遍历对应的数据库表,获取初始表结构定义信息,所述的初始表结构定义信息包含字段列名、字段列的数据类型、是否可空、是否为主键或者唯一键、默认值以及附加信息。进一步地,所述数据库生成单元包括语句生成模块、语句拼接模块和语句导入模块;所述语句生成模块,用于将目标表结构定义信息基于Oracle的数据库建表语法,生成建表语句;所述语句拼接模块,用于将所有建表语句拼接,生成SQL定义语句文件;所述语句导入模块,用于将SQL定义语句文件导入Oracle中,生成目标Oracle数据库。本专利技术还采用以下技术方案:一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上任一项所述的从MySQL到Oracle的数据库迁移方法。本专利技术还采用以下技术方案:一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如上任一项所述的从MySQL到Oracle的数据库迁移方法。本专利技术与现有技术相比的有益效果是:本专利技术在选定初始MySQL数据库之后,获取表名信息和初始表结构定义信息,并转换初始表结构定义信息得到目标表结构定义信息,最后根据目标表结构定义信息生成对应的目标Oracle数据库,可以根据实际需要选择数据库进行迁移,保证准确迁移数据库的同时降低了迁移成本;同时根据迁移后的数据库能够完全兼容Oracle,保证迁移后的数据库完整,提高数据安全性。下面结合附图和具体实施例对本专利技术作进一步描述。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种从MySQL到Oracle的数据库迁移方法的应用场景示意图;图2为本专利技术实施例提供的一种从MySQL到Oracle的数据库迁移方法的流程示意图;图3为本专利技术实施例提供的从MySQL到Oracle的数据库迁移方法的子流程示意图;图4为本专利技术实施例提供的一种从MySQL到Oracle的数据库迁移装置的示意性框图;图5为本专利技术实施例提供的从MySQL到Oracle的数据库迁移装置的第一获取单元的示意性框图;图6为本专利技术实施例提供的从MySQL到Oracle的数据库迁移装置的第二获取单元的示意性框图;图7为本专利技术实施例提供的从MySQL到Oracle的数据库迁移装置的数据库生成单元的示意性框图;图8为本专利技术实施例提供的计算机设备的示意性框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应本文档来自技高网...

【技术保护点】
1.一种从MySQL到Oracle的数据库迁移方法,其特征在于,包括以下步骤:/n选定初始MySQL数据库;/n获取初始MySQL数据库所有的数据库表的表名信息;/n根据表名信息循环遍历数据库表,获取初始表结构定义信息;/n根据数据库表和初始表结构定义信息,转换得到符合Oracle要求的目标表结构定义信息;/n根据数据库表和目标表结构定义信息生成目标Oracle数据库。/n

【技术特征摘要】
1.一种从MySQL到Oracle的数据库迁移方法,其特征在于,包括以下步骤:
选定初始MySQL数据库;
获取初始MySQL数据库所有的数据库表的表名信息;
根据表名信息循环遍历数据库表,获取初始表结构定义信息;
根据数据库表和初始表结构定义信息,转换得到符合Oracle要求的目标表结构定义信息;
根据数据库表和目标表结构定义信息生成目标Oracle数据库。


2.根据权利要求1所述的从MySQL到Oracle的数据库迁移方法,其特征在于,所述获取初始MySQL数据库所有的数据库表的表名信息的步骤,包括:
通过showtable语句调用初始MySQL数据库中所有的数据库表,获取对应的表名信息。


3.根据权利要求2所述的从MySQL到Oracle的数据库迁移方法,其特征在于,所述根据表名信息循环遍历数据库表,获取初始表结构定义信息的步骤,包括:
通过desc+[表名]语句循环遍历对应的数据库表,获取初始表结构定义信息,所述的初始表结构定义信息包含字段列名、字段列的数据类型、是否可空、是否为主键或者唯一键、默认值以及附加信息。


4.根据权利要求1所述的从MySQL到Oracle的数据库迁移方法,其特征在于,所述根据数据库表和目标表结构定义信息生成目标Oracle数据库的步骤,包括:
将目标表结构定义信息基于Oracle的数据库建表语法,生成建表语句;
将所有建表语句拼接,生成SQL定义语句文件;
将SQL定义语句文件导入Oracle中,生成目标Oracle数据库。


5.一种从MySQL到Oracle的数据库迁移装置,其特征在于,包括:
数据库选定单元,用于选定初始MySQL数据库;
第一获取单元,用于获取初始MySQL数据库所有的数据库表的表名信息;
第二获取单元,用于根据表...

【专利技术属性】
技术研发人员:王志超
申请(专利权)人:深圳前海环融联易信息科技服务有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1