首页> 中国专利> 用于数据库的数据迁移装置和数据迁移方法

用于数据库的数据迁移装置和数据迁移方法

摘要

本发明提供了一种用于数据库的数据迁移装置和一种用于数据库的数据迁移方法,其中,所述用于数据库的数据迁移装置,包括:获取单元,用于获取源数据库和目标数据库的属性信息;迁移方案制定单元,用于根据所述获取单元获取到的所述源数据库和所述目标数据库的属性信息制定数据迁移方案;迁移方案修正单元,用于对数据迁移过程中的预设迁移阶段进行错误检查,以对所述迁移方案的配置参数进行修正。通过本发明的技术方案,使得数据库迁移工具能够支持向更多类型的异构数据库进行迁移数据,并且能够提高数据迁移的效率和数据迁移的正确性。

著录项

  • 公开/公告号CN104077401A

    专利类型发明专利

  • 公开/公告日2014-10-01

    原文格式PDF

  • 申请/专利权人 用友软件股份有限公司;

    申请/专利号CN201410318745.2

  • 发明设计人 刘新征;

    申请日2014-07-04

  • 分类号G06F17/30(20060101);

  • 代理机构北京友联知识产权代理事务所(普通合伙);

  • 代理人尚志峰;汪海屏

  • 地址 100094 北京市海淀区北清路68号用友软件园

  • 入库时间 2023-12-17 01:49:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-24

    授权

    授权

  • 2015-12-02

    著录事项变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20140704

    著录事项变更

  • 2014-10-29

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140704

    实质审查的生效

  • 2014-10-01

    公开

    公开

说明书

技术领域

本发明涉及数据库技术领域,具体而言,涉及一种用于数据库的数据 迁移装置和一种用于数据库的数据迁移方法。

背景技术

Ora2Pg是用于数据库迁移的工具,主要用于将Oracle数据库中的数 据迁移到PostgreSQL数据库中。它通过连接Oracle数据库,扫描并自动 抽取Oracle数据库的结构或数据,生成用于实现迁移的SQL脚本,然后 利用该脚本可以创建数据库结构或将数据导入到PostgreSQL数据库中。 该工具所支持的Oracle数据库对象很丰富,包括:表、约束、视图、表空 间、序列、索引、触发器、函数、存储过程、包、分区和数据等,但目标 数据库却仅限于PostgreSQL。

此外,通常情况下,为了保证迁移的顺利,数据迁移时会先将结构迁 移至目标数据库,然后再进行数据的迁移,期间需要针对不同的工序调整 迁移工具的若干配置参数,步骤较为繁琐,造成数据迁移效率的低下。而 且,在异构数据库之间进行数据迁移时,还会面临很多正确性问题的干 扰,例如:数据类型的转换、字符集不匹配、对象名称大小写敏感、用户 模式的兼容等,其中一项不符合要求都将影响数据迁移的正确性。

因此,如何使数据库迁移工具支持更多类型的异构数据库,并提高数 据迁移的效率和数据迁移的正确性成为亟待解决的技术问题。

发明内容

本发明正是基于上述技术问题,提出了一种新的用于数据库的数据迁 移方案,可以使得数据库迁移工具能够支持向更多类型的异构数据库进行 迁移数据,并且能够提高数据迁移的效率和数据迁移的正确性。

有鉴于此,本发明提出了一种用于数据库的数据迁移装置,包括:获 取单元,用于获取源数据库和目标数据库的属性信息;迁移方案制定单 元,用于根据所述获取单元获取到的所述源数据库和所述目标数据库的属 性信息制定数据迁移方案;迁移方案修正单元,用于对数据迁移过程中的 预设迁移阶段进行错误检查,以对所述迁移方案的配置参数进行修正。

在该技术方案中,通过根据获取到的源数据库和目标数据库的属性信 息来制定数据迁移方案,使得能够根据目标数据库支持的数据类型、字符 集、对象名称大小写敏感、用户模式的兼容等制定相应的数据迁移方案, 进而使得数据库迁移工具(如Ora2Pg)能够支持更多的目标数据库。而 通过根据对数据迁移过程中的预设迁移阶段进行错误检查,以对迁移方案 的配置参数进行修正,使得数据迁移过程中的遇到的问题如字符集不匹配 等能够提前进行解决,进而提高了数据迁移的效率和数据迁移的正确性, 避免在迁移过程中遇到问题时再进行解决而破坏数据迁移过程的连续性。

在上述技术方案中,优选地,还包括:记录单元,用于记录在每次数 据迁移过程中出现错误的迁移阶段;所述迁移方案修正单元还用于:根据 所述记录单元记录的数据迁移过程中的每个迁移阶段出现错误的次数确定 所述预设迁移阶段。

在该技术方案中,通过根据已记录的数据迁移过程中的每个迁移阶段 出现错误的次数来确定预设迁移阶段,使得能够对迁移过程中经常出现错 误的迁移阶段进行检查,进而实现有针对性地检查,以最大限度地确保修 正后的迁移方案在迁移过程中不出现错误,提高数据迁移的正确性。

在上述技术方案中,优选地,所述获取单元还用于:在获取所述源数 据库和所述目标数据库的属性信息之前,获取所述源数据库和所述目标数 据库的状态信息,以及在判断单元判定所述源数据库和所述目标数据库处 于连接状态时,执行获取所述源数据库和所述目标数据库的属性信息的操 作;所述判断单元,用于根据所述源数据库和所述目标数据库的状态信息 判断所述源数据库和所述目标数据库是否处于连接状态。

在该技术方案中,通过在执行获取源数据库和目标数据库的属性信息 的步骤之前,根据源数据库和目标数据库的状态信息判断源数据库和目标 数据库的连接状态,可以事先对源数据库和目标数据库的连接状态进行确 认,进而确保在源数据库和目标数据库都在线时,再执行数据迁移的过 程,避免源数据库和目标数据库中存在未连接的数据库而继续执行迁移过 程,导致数据迁移的失败。

在上述技术方案中,优选地,所述属性信息包括:版本信息、字符集 信息。

在上述技术方案中,优选地,还包括:数据迁移单元,用于根据修正 后的所述迁移方案将所述源数据库的数据结构和数据依次迁移到所述目标 数据库中;检查单元,用于在所述数据迁移单元将所述源数据库中的数据 结构和数据迁移到所述目标数据库中之后,对迁移至所述目标数据库中的 数据正确性进行检测,以及在对所述目标数据库中的数据正确性检测通过 之后,确定数据迁移完成。

在该技术方案中,通过在数据迁移完成之后,对迁移至目标数据库中 的数据正确性进行检验,可以进一步确保了数据迁移的正确性。

根据本发明的第二方面,还提出了一种用于数据库的数据迁移方法, 包括:获取源数据库和目标数据库的属性信息;根据所述源数据库和所述 目标数据库的属性信息制定数据迁移方案;对数据迁移过程中的预设迁移 阶段进行错误检查,以对所述迁移方案的配置参数进行修正。

在该技术方案中,通过根据获取到的源数据库和目标数据库的属性信 息来制定数据迁移方案,使得能够根据目标数据库支持的数据类型、字符 集、对象名称大小写敏感、用户模式的兼容等制定相应的数据迁移方案, 进而使得数据库迁移工具(如Ora2Pg)能够支持更多的目标数据库。而 通过根据对数据迁移过程中的预设迁移阶段进行错误检查,以对迁移方案 的配置参数进行修正,使得数据迁移过程中的遇到的问题如字符集不匹配 等能够提前进行解决,进而提高了数据迁移的效率和数据迁移的正确性, 避免在迁移过程中遇到问题时再进行解决而破坏数据迁移过程的连续性。

在上述技术方案中,优选地,在对所述预设迁移阶段进行错误检查之 前,还包括:记录在每次数据迁移过程中出现错误的迁移阶段;根据已记 录的数据迁移过程中的每个迁移阶段出现错误的次数确定所述预设迁移阶 段。

在该技术方案中,通过根据已记录的数据迁移过程中的每个迁移阶段 出现错误的次数来确定预设迁移阶段,使得能够对迁移过程中经常出现错 误的迁移阶段进行检查,进而实现有针对性地检查,以最大限度地确保修 正后的迁移方案在迁移过程中不出现错误,提高数据迁移的正确性。

在上述技术方案中,优选地,在获取所述源数据库和所述目标数据库 的属性信息之前,还包括:获取所述源数据库和所述目标数据库的状态信 息;根据所述源数据库和所述目标数据库的状态信息判断所述源数据库和 所述目标数据库是否处于连接状态,若是,则执行获取所述源数据库和所 述目标数据库的属性信息的步骤。

在该技术方案中,通过在执行获取源数据库和目标数据库的属性信息 的步骤之前,根据源数据库和目标数据库的状态信息判断源数据库和目标 数据库的连接状态,可以事先对源数据库和目标数据库的连接状态进行确 认,进而确保在源数据库和目标数据库都在线时,再执行数据迁移的过 程,避免源数据库和目标数据库中存在未连接的数据库而继续执行迁移过 程,导致数据迁移的失败。

在上述技术方案中,优选地,所述属性信息包括:版本信息、字符集 信息。

在上述技术方案中,优选地,在对所述迁移方案进行修正之后还包 括:根据修正后的所述迁移方案将所述源数据库的数据结构和数据依次迁 移到所述目标数据库中;对迁移至所述目标数据库中的数据正确性进行检 测,以及在对所述目标数据库中的数据正确性检测通过之后,确定数据迁 移完成。

在该技术方案中,通过在数据迁移完成之后,对迁移至目标数据库中 的数据正确性进行检验,可以进一步确保了数据迁移的正确性。

通过以上技术方案,可以使得数据库迁移工具能够支持向更多类型的 异构数据库进行迁移数据,并且能够提高数据迁移的效率和数据迁移的正 确性。

附图说明

图1示出了根据本发明的实施例的用于数据库的数据迁移装置的示意 框图;

图2示出了根据本发明的实施例的用于数据库的数据迁移方法的示意 流程图;

图3示出了根据本发明的另一个实施例的用于数据库的数据迁移方法 的示意流程图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附 图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不 冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是, 本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明 的保护范围并不受下面公开的具体实施例的限制。

图1示出了根据本发明的实施例的用于数据库的数据迁移装置的示意 框图。

如图1所示,根据本发明的实施例的用于数据库的数据迁移装置 100,包括:获取单元102,用于获取源数据库和目标数据库的属性信 息;迁移方案制定单元104,用于根据所述获取单元102获取到的所述源 数据库和所述目标数据库的属性信息制定数据迁移方案;迁移方案修正单 元106,用于对数据迁移过程中的预设迁移阶段进行错误检查,以对所述 迁移方案的配置参数进行修正。

在该技术方案中,通过根据获取到的源数据库和目标数据库的属性信 息来制定数据迁移方案,使得能够根据目标数据库支持的数据类型、字符 集、对象名称大小写敏感、用户模式的兼容等制定相应的数据迁移方案, 进而使得数据库迁移工具(如Ora2Pg)能够支持更多的目标数据库。而 通过根据对数据迁移过程中的预设迁移阶段进行错误检查,以对迁移方案 的配置参数进行修正,使得数据迁移过程中的遇到的问题如字符集不匹配 等能够提前进行解决,进而提高了数据迁移的效率和数据迁移的正确性, 避免在迁移过程中遇到问题时再进行解决而破坏数据迁移过程的连续性。

在上述技术方案中,优选地,还包括:记录单元108,用于记录在每 次数据迁移过程中出现错误的迁移阶段;所述迁移方案修正单元106还用 于:根据所述记录单元108记录的数据迁移过程中的每个迁移阶段出现错 误的次数确定所述预设迁移阶段。

在该技术方案中,通过根据已记录的数据迁移过程中的每个迁移阶段 出现错误的次数来确定预设迁移阶段,使得能够对迁移过程中经常出现错 误的迁移阶段进行检查,进而实现有针对性地检查,以最大限度地确保修 正后的迁移方案在迁移过程中不出现错误,提高数据迁移的正确性。

在上述技术方案中,优选地,所述获取单元102还用于:在获取所述 源数据库和所述目标数据库的属性信息之前,获取所述源数据库和所述目 标数据库的状态信息,以及在判断单元110判定所述源数据库和所述目标 数据库处于连接状态时,执行获取所述源数据库和所述目标数据库的属性 信息的操作;所述判断单元110,用于根据所述源数据库和所述目标数据 库的状态信息判断所述源数据库和所述目标数据库是否处于连接状态。

在该技术方案中,通过在执行获取源数据库和目标数据库的属性信息 的步骤之前,根据源数据库和目标数据库的状态信息判断源数据库和目标 数据库的连接状态,可以事先对源数据库和目标数据库的连接状态进行确 认,进而确保在源数据库和目标数据库都在线时,再执行数据迁移的过 程,避免源数据库和目标数据库中存在未连接的数据库而继续执行迁移过 程,导致数据迁移的失败。

在上述技术方案中,优选地,所述属性信息包括:版本信息、字符集 信息。

在上述技术方案中,优选地,还包括:数据迁移单元112,用于根据 修正后的所述迁移方案将所述源数据库的数据结构和数据依次迁移到所述 目标数据库中;检查单元114,用于在所述数据迁移单元112将所述源数 据库中的数据结构和数据迁移到所述目标数据库中之后,对迁移至所述目 标数据库中的数据正确性进行检测,以及在对所述目标数据库中的数据正 确性检测通过之后,确定数据迁移完成。

在该技术方案中,通过在数据迁移完成之后,对迁移至目标数据库中 的数据正确性进行检验,可以进一步确保了数据迁移的正确性。

图2示出了根据本发明的实施例的用于数据库的数据迁移方法的示意 流程图。

如图2所示,根据本发明的实施例的用于数据库的数据迁移方法,包 括:步骤202,获取源数据库和目标数据库的属性信息;步骤204,根据 所述源数据库和所述目标数据库的属性信息制定数据迁移方案;步骤 206,对数据迁移过程中的预设迁移阶段进行错误检查,以对所述迁移方 案的配置参数进行修正。

在该技术方案中,通过根据获取到的源数据库和目标数据库的属性信 息来制定数据迁移方案,使得能够根据目标数据库支持的数据类型、字符 集、对象名称大小写敏感、用户模式的兼容等制定相应的数据迁移方案, 进而使得数据库迁移工具(如Ora2Pg)能够支持更多的目标数据库。而 通过根据对数据迁移过程中的预设迁移阶段进行错误检查,以对迁移方案 的配置参数进行修正,使得数据迁移过程中的遇到的问题如字符集不匹配 等能够提前进行解决,进而提高了数据迁移的效率和数据迁移的正确性, 避免在迁移过程中遇到问题时再进行解决而破坏数据迁移过程的连续性。

在上述技术方案中,优选地,在对所述预设迁移阶段进行错误检查之 前,还包括:记录在每次数据迁移过程中出现错误的迁移阶段;根据已记 录的数据迁移过程中的每个迁移阶段出现错误的次数确定所述预设迁移阶 段。

在该技术方案中,通过根据已记录的数据迁移过程中的每个迁移阶段 出现错误的次数来确定预设迁移阶段,使得能够对迁移过程中经常出现错 误的迁移阶段进行检查,进而实现有针对性地检查,以最大限度地确保修 正后的迁移方案在迁移过程中不出现错误,提高数据迁移的正确性。

在上述技术方案中,优选地,在获取所述源数据库和所述目标数据库 的属性信息之前,还包括:获取所述源数据库和所述目标数据库的状态信 息;根据所述源数据库和所述目标数据库的状态信息判断所述源数据库和 所述目标数据库是否处于连接状态,若是,则执行获取所述源数据库和所 述目标数据库的属性信息的步骤。

在该技术方案中,通过在执行获取源数据库和目标数据库的属性信息 的步骤之前,根据源数据库和目标数据库的状态信息判断源数据库和目标 数据库的连接状态,可以事先对源数据库和目标数据库的连接状态进行确 认,进而确保在源数据库和目标数据库都在线时,再执行数据迁移的过 程,避免源数据库和目标数据库中存在未连接的数据库而继续执行迁移过 程,导致数据迁移的失败。

在上述技术方案中,优选地,所述属性信息包括:版本信息、字符集 信息。

在上述技术方案中,优选地,在对所述迁移方案进行修正之后还包 括:根据修正后的所述迁移方案将所述源数据库的数据结构和数据依次迁 移到所述目标数据库中;对迁移至所述目标数据库中的数据正确性进行检 测,以及在对所述目标数据库中的数据正确性检测通过之后,确定数据迁 移完成。

在该技术方案中,通过在数据迁移完成之后,对迁移至目标数据库中 的数据正确性进行检验,可以进一步确保了数据迁移的正确性。

图3示出了根据本发明的另一个实施例的用于数据库的数据迁移方法 的示意流程图。

如图3所示,根据本发明的另一个实施例的用于数据库的数据迁移方 法,包括:

步骤302,在迁移工作开始前,检查源数据库与目标数据库的连接状 态。

步骤304,判断DBMS(Database Management System,数据库管理系 统)服务检查是否通过,即判断源数据库与目标数据库是否均处于连接状 态,若是,则执行步骤306;否则,结束。

步骤306,在DBMS服务检查通过后,对源数据库及目标数据库的字 符集、数据类型、匹配模式等进行检查。

步骤308,判断检查迁移设置项是否通过,即判断源数据库及目标数 据库的字符集、数据类型、匹配模式等是否检查通过,若通过,则执行步 骤310;否则,结束。

步骤310,执行DDL(Data Definition Language,数据库模式定义语 言)迁移,即执行数据结构的迁移。

步骤312,判断DDL检查是否通过,即判断数据结构是否迁移通 过,若通过,则执行步骤314;否则,结束。

步骤314,执行DML(Data Manipulation Language,数据操纵语言) 迁移,即执行数据库数据的迁移。

步骤316,在执行数据库数据迁移之后,判断数据正确性是否检查通 过,若检查通过,则结束;若未通过,则执行步骤318。

步骤318,在判定数据正确性检查未通过时,进行预警提示。

以上结合附图详细说明了本发明的技术方案,考虑到相关技术中,数 据在数据库之间进行迁移时,受数据类型的转换、字符集不匹配、对象名 称大小写敏感等因素的影响,数据迁移的准确率较低,同时数据迁移的效 率低下。因此,本发明提出了一种新的用于数据库的数据迁移方案,可以 使得数据库迁移工具能够支持向更多类型的异构数据库进行迁移数据,并 且能够提高数据迁移的效率和数据迁移的正确性。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于 本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明 的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号