数据迁移方法及终端设备技术

技术编号:20425177 阅读:24 留言:0更新日期:2019-02-23 08:30
本发明专利技术适用于数据处理技术领域,提供了数据迁移方法、终端设备以及计算机可读存储介质,包括:对Oracle数据库和PostgreSQL数据库进行差异分析,得到数据替换文件和调用替换文件;基于所述数据替换文件对所述Oracle数据库中的数据进行替换,并将替换后的数据添加至所述PostgreSQL数据库,其中,在所述PostgreSQL数据库中建立待替换数据表,并将所述Oracle数据库的数据表中进行替换后的数据插入至所述待替换数据表;基于所述调用替换文件对应用系统中的调用语句进行替换,其中,所述应用系统为所述Oracle数据库和PostgreSQL数据库的上层系统,所述调用语句为所述应用系统中调用数据库的语句。本发明专利技术提升了从Oracle数据库到PostgreSQL数据库的数据迁移效率。

【技术实现步骤摘要】
数据迁移方法及终端设备
本专利技术属于数据处理
,尤其涉及数据迁移方法、终端设备以及计算机可读存储介质。
技术介绍
PostgreSQL是一款开源的对象-关系型数据库,可以支持数据的添加、删除以及更改等操作,并且支持大量的第三方工具。相较于传统的Oracle数据库,PostgreSQL的可靠性较高,并且部署成本低,故存在将Oracle数据库的数据迁移至PostgreSQL数据库的需求。在现有技术中,通常是依靠手动完成Oracle数据库到PostgreSQL数据库的数据迁移。由于Oracle数据库与PostgreSQL数据库在数据类型、语法和函数等方面存在不同,并且数据库中的数据量通常较大,故进行手动迁移耗费的时间长,效率较低,无法实现快速迁移。
技术实现思路
有鉴于此,本专利技术实施例提供了数据迁移方法、终端设备以及计算机可读存储介质,以解决现有技术中从Oracle数据库到PostgreSQL数据库的数据迁移效率低问题。本专利技术实施例的第一方面提供了一种数据迁移方法,包括:对Oracle数据库和PostgreSQL数据库进行差异分析,得到数据替换文件和调用替换文件,其中,所述Oracle数据库为数据迁移的源数据库,所述PostgreSQL数据库为数据迁移的目标数据库;基于所述数据替换文件对所述Oracle数据库中的数据进行替换,并将替换后的数据添加至所述PostgreSQL数据库,其中,在所述PostgreSQL数据库中建立待替换数据表,并将所述Oracle数据库的数据表中进行替换后的数据插入至所述待替换数据表;基于所述调用替换文件对应用系统中的调用语句进行替换,其中,所述应用系统为所述Oracle数据库和PostgreSQL数据库的上层系统,所述调用语句为所述应用系统中调用数据库的语句。本专利技术实施例的第二方面提供了一种终端设备,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:对Oracle数据库和PostgreSQL数据库进行差异分析,得到数据替换文件和调用替换文件,其中,所述Oracle数据库为数据迁移的源数据库,所述PostgreSQL数据库为数据迁移的目标数据库;基于所述数据替换文件对所述Oracle数据库中的数据进行替换,并将替换后的数据添加至所述PostgreSQL数据库,其中,在所述PostgreSQL数据库中建立待替换数据表,并将所述Oracle数据库的数据表中进行替换后的数据插入至所述待替换数据表;基于所述调用替换文件对应用系统中的调用语句进行替换,其中,所述应用系统为所述Oracle数据库和PostgreSQL数据库的上层系统,所述调用语句为所述应用系统中调用数据库的语句。本专利技术实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:对Oracle数据库和PostgreSQL数据库进行差异分析,得到数据替换文件和调用替换文件,其中,所述Oracle数据库为数据迁移的源数据库,所述PostgreSQL数据库为数据迁移的目标数据库;基于所述数据替换文件对所述Oracle数据库中的数据进行替换,并将替换后的数据添加至所述PostgreSQL数据库,其中,在所述PostgreSQL数据库中建立待替换数据表,并将所述Oracle数据库的数据表中进行替换后的数据插入至所述待替换数据表;基于所述调用替换文件对应用系统中的调用语句进行替换,其中,所述应用系统为所述Oracle数据库和PostgreSQL数据库的上层系统,所述调用语句为所述应用系统中调用数据库的语句。本专利技术实施例与现有技术相比存在的有益效果是:本专利技术实施例通过对Oracle数据库和PostgreSQL数据库进行差异分析,将两个数据库的数据之间的差异点集合为数据替换文件,将两个数据库在上层的调用语句之间的差异点集合为调用替换文件,通过数据替换文件对Oracle数据库数据表的数据进行改造,将改造后的数据添加至PostgreSQL数据库中,并通过调用替换文件对应用系统中原有的调用语句进行替换,完成从底层数据到上层语句的全部迁移,本专利技术实施例提升了数据迁移的效率,有利于PostgreSQL数据库的快速部署。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的数据迁移方法的实现流程图;图2是本专利技术实施例二提供的数据迁移方法的实现流程图;图3是本专利技术实施例三提供的数据迁移方法的实现流程图;图4是本专利技术实施例四提供的数据迁移方法的实现流程图;图5是本专利技术实施例五提供的数据迁移方法的实现流程图;图6是本专利技术实施例六提供的终端设备的结构框图;图7是本专利技术实施例七提供的终端设备的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。图1示出了本专利技术实施例提供的数据迁移方法的实现流程,详述如下:在S101中,对Oracle数据库和PostgreSQL数据库进行差异分析,得到数据替换文件和调用替换文件,其中,所述Oracle数据库为数据迁移的源数据库,所述PostgreSQL数据库为数据迁移的目标数据库。Oracle数据库是一款关系型数据库,而PostgreSQL数据库是一款对象-关系型数据库,两者在性能、数据类型、结构化查询语言(StructuredQueryLanguage,SQL)语法、函数类型和存储过程等方面均存在不同。在本专利技术实施例中,对将应用系统的数据源从Oracle数据库转换至PostgreSQL数据库的过程进行说明,实质上是说明将Oracle数据库中原有的数据在保持可用性的前提下迁移至空白的PostgreSQL数据库中的过程,其中,数据源是指应用系统所调用的数据库的连接信息。在本专利技术实施例中,首先对Oracle数据库和PostgreSQL数据库进行差异分析,目的是确定数据从Oracle数据库迁移至PostgreSQL数据库的替换点,该替换点用于对Oracle数据库原有的数据进行替换,进行替换的具体过程在后文进行详细阐述。差异分析主要集中在两个层面,第一个层面是数据库本身的数据层面,第二个层面是应用系统层面,比如java系统层面,应用系统为数据库的上层,通过调用数据库中的数据来实现应用功能。在数据库本身所在的数据层面中,Oracle数据库和PostgreSQL数据库之间的替换点主要体现在数据类型、函数类型、语法和存储过程,即Oracle数据库和PostgreSQL数据库在上述的方面存在不同,以下进行具体说明:(1)对于数据类型,举例来说,Oracle本文档来自技高网...

【技术保护点】
1.一种数据迁移方法,其特征在于,包括:对Oracle数据库和PostgreSQL数据库进行差异分析,得到数据替换文件和调用替换文件,其中,所述Oracle数据库为数据迁移的源数据库,所述PostgreSQL数据库为数据迁移的目标数据库;基于所述数据替换文件对所述Oracle数据库中的数据进行替换,并将替换后的数据添加至所述PostgreSQL数据库,其中,在所述PostgreSQL数据库中建立待替换数据表,并将所述Oracle数据库的数据表中进行替换后的数据插入至所述待替换数据表;基于所述调用替换文件对应用系统中的调用语句进行替换,其中,所述应用系统为所述Oracle数据库和PostgreSQL数据库的上层系统,所述调用语句为所述应用系统中调用数据库的语句。

【技术特征摘要】
1.一种数据迁移方法,其特征在于,包括:对Oracle数据库和PostgreSQL数据库进行差异分析,得到数据替换文件和调用替换文件,其中,所述Oracle数据库为数据迁移的源数据库,所述PostgreSQL数据库为数据迁移的目标数据库;基于所述数据替换文件对所述Oracle数据库中的数据进行替换,并将替换后的数据添加至所述PostgreSQL数据库,其中,在所述PostgreSQL数据库中建立待替换数据表,并将所述Oracle数据库的数据表中进行替换后的数据插入至所述待替换数据表;基于所述调用替换文件对应用系统中的调用语句进行替换,其中,所述应用系统为所述Oracle数据库和PostgreSQL数据库的上层系统,所述调用语句为所述应用系统中调用数据库的语句。2.如权利要求1所述的数据迁移方法,其特征在于,所述应用系统包括多个应用功能,所述基于所述调用替换文件对应用系统中的调用语句进行替换,包括:对多个所述应用功能进行分析,得到与每个所述应用功能对应的实现难度值;按照所述实现难度值从低到高的顺序,基于所述调用替换文件依次对多个所述应用功能对应的调用语句进行替换。3.如权利要求2所述的数据迁移方法,其特征在于,所述按照所述实现难度值从低到高的顺序,基于所述调用替换文件依次对多个所述应用功能对应的调用语句进行替换,包括:获取通过执行所述应用功能对应的替换前的调用语句得到的第一执行结果;基于所述调用替换文件对所述应用功能对应的替换前的调用语句进行替换后,屏蔽所述应用功能对应的替换前的调用语句,并获取通过执行所述应用功能对应的替换后的调用语句得到的第二执行结果;若所述第一执行结果与所述第二执行结果相同,则在所述应用系统中移除所述应用功能对应的替换前的调用语句;若所述第一执行结果与所述第二执行结果不相同,则屏蔽所述应用功能对应的替换后的调用语句,重新启用所述应用功能对应的替换前的调用语句,并输出报警提示。4.如权利要求1所述的数据迁移方法,其特征在于,所述Oracle数据库的数据表包括基础表和附加表,所述基础表为存放所述应用系统运行所必要的基础数据的数据表,所述附加表为存放所述应用系统运行所非必要的附加数据的数据表,所述在所述PostgreSQL数据库中建立待替换数据表,并将所述Oracle数据库的数据表中进行替换后的数据插入至所述待替换数据表,包括:按照预设顺序对所述Oracle数据库中的多个数据表进行识别;若识别到当前的数据表保存有基础表标识,则基于所述数据替换文件对当前的数据表中的数据进行替换,并将替换后的数据插入至所述待替换数据表,所述基础表标识用于指示数据表为所述基础表,所述待替换数据表为在所述PostgreSQL数据库中建立的与Oracle数据库当前的数据表对应的数据表。5.如权利要求4所述的数据迁移方法,其特征在于,所述按照预设顺序对所述Oracle数据库中的多个数据表进行识别之后,还包括:若识别到当前的数据表保存有附加表标识,则按照所述预设顺序对所述Oracle数据库中的下一个数据表进行识别,所述附加表标识用于指示数据表为所述附加表;当识别完毕所述Oracle数据库中的多个数据表时,按照所述预设顺序依次基于所述数据替换...

【专利技术属性】
技术研发人员:王传伟曾继标
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:广东,44

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

1