一种数据库迁移方法、系统及相关装置制造方法及图纸

技术编号:24353112 阅读:13 留言:0更新日期:2020-06-03 02:00
本申请提供一种数据库迁移方法,包括:接收到迁移指令时,确定SCN参数;将所述SCN参数对应时间的数据库全库数据一致性逻辑导出,以使目的库恢复所述数据库全库数据;确定UNDO表空间在所述SCN参数对应的时间之后的数据增量记录;将所述数据增量记录导出,并在所述数据增量记录导出后停止数据库业务,以使所述目的库按时间顺序利用所述数据增量记录对所述数据全库数据进行数据增量操作。本申请无需等待整个数据库全库数据迁移的时间,大大减少数据库逻辑迁移时业务系统的停机时长。本申请还提供一种数据库迁移系统、计算机可读存储介质和数据库,具有上述有益效果。

A database migration method, system and related devices

【技术实现步骤摘要】
一种数据库迁移方法、系统及相关装置
本申请涉及数据库领域,特别涉及一种数据库迁移方法、系统及相关装置。
技术介绍
数据库迁移一般分为物理迁移方式和逻辑迁移方式,物理方式一般是拷贝原库的数据文件或数据块,迁移后保留了原数据库的物理结构,可以实现在线迁移,即不影响原库使用或只需更短的停机时间,但这种迁移要求原库主机和目标库主机必须属于同一硬件架构并且操作系统类型相同,比如要求原库主机和目标库主机都是X86架构,而且操作系统同为LINUX或WINDOWS,物理迁移方式不适用于跨硬件架构和不同操作系统类型的数据库迁移。跨硬件架构和不同操作系统类型的数据库迁移一般会使用逻辑迁移方式进行数据库迁移,也就是将数据从源库中导出并在目标库中导入,这种方式操作简单,但迁移时需要源库停机,迁移需要业务系统较长的中断,对业务影响较大。因此如何降低数据库迁移时对业务的影响是本领域技术人员亟需解决的技术问题。
技术实现思路
本申请的目的是提供一种数据库迁移方法、系统、计算机可读存储介质和数据库,能够降低数据库迁移时对业务的影响。为解决上述技术问题,本申请提供一种数据库迁移方法,具体技术方案如下:接收到迁移指令时,确定SCN参数;将所述SCN参数对应时间的数据库全库数据一致性逻辑导出,以使目的库恢复所述数据库全库数据;确定UNDO表空间在所述SCN参数对应的时间之后的数据增量记录;将所述数据增量记录导出,并在所述数据增量记录导出后停止数据库业务,以使所述目的库按时间顺序利用所述数据增量记录对所述数据全库数据进行数据增量操作。其中,将所述数据增量记录导出包括:将所述数据增量记录分SCN区间导出;其中,第一个SCN区间的起点为所述SCN参数对应的时间,其余所述SCN区间的时间起点均为上一个SCN区间的时间终点。其中,将所述数据增量记录导出时还包括:判断所述数据库全库数据是否全部导出;若是,以所述数据库全库数据全部导出时为时间截止点停止所述数据增量记录导出。其中,所述SCN参数包括系统检查点SCN、数据文件检查点SCN、启动SCN和终止SCN。本申请还提供一种数据库迁移系统,包括:SCN确定模块,用于接收到迁移指令时,确定SCN参数;数据导出模块,用于将所述SCN参数对应时间的数据库全库数据一致性逻辑导出,以使目的库恢复所述数据库全库数据;增量确定模块,用于确定UNDO表空间在所述SCN参数对应的时间之后的数据增量记录;增量导出模块,用于将所述数据增量记录导出,并在所述数据增量记录导出后停止数据库业务,以使所述目的库按时间顺序利用所述数据增量记录对所述数据全库数据进行数据增量操作。其中,所述增量导出模块包括:增量导出单元,用于将所述数据增量记录分SCN区间导出;其中,第一个SCN区间的起点为所述SCN参数对应的时间,其余所述SCN区间的时间起点均为上一个SCN区间的时间终点。其中,还包括:判断模块,用于判断所述数据库全库数据是否全部导出;若是,以所述数据库全库数据全部导出时为时间截止点停止所述数据增量记录导出。本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。本申请还提供一种数据库,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。本申请提供一种数据库迁移方法,包括:接收到迁移指令时,确定SCN参数;将所述SCN参数对应时间的数据库全库数据一致性逻辑导出,以使目的库恢复所述数据库全库数据;确定UNDO表空间在所述SCN参数对应的时间之后的数据增量记录;将所述数据增量记录导出,并在所述数据增量记录导出后停止数据库业务,以使所述目的库按时间顺序利用所述数据增量记录对所述数据全库数据进行数据增量操作。本申请首先确定数据库迁移的SCN参数,以确保数据库进行全库导出时各数据处于同一个SCN参数的一致状态,且此时进行全库导出时数据库依旧可正常对外使用,即可正常进行数据增量操作。此后再对数据库进行增量导出,将在SCN参数对应的时间之后的数据增量记录导出。在数据增量记录导出后才停止数据库业务。而后在目的库先进行数据库全库数据恢复,再利用数据增量记录进行数据增量操作。整个过程对于数据业务的停止时间相当于数据增量操作的时间,无需等待整个数据库全库数据迁移的时间,大大减少数据库逻辑迁移时业务系统的停机时长,能够提高数据库的有效利用率。本申请还提供一种数据库迁移系统、计算机可读存储介质和数据库,具有上述有益效果,此处不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种数据库迁移方法的流程图;图2为本申请实施例所提供的数据库全库数据一致性逻辑导出过程示意图;图3为本申请实施例所提供的数据导出结果示意图;图4为本申请实施例所提供的增量数据记录导出过程示意图;图5为本申请实施例所提供的目的库数据恢复过程示意图;图6为本申请实施例所提供的一种数据库迁移系统结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。请参考图1,图1为本申请实施例所提供的一种数据库迁移方法的流程图,该方法包括:S101:接收到迁移指令时,确定SCN参数;在接收到迁移指令时,即需要进行数据库迁移。在此时确定SCN参数。SCN参数是当Oracle数据库更新后,由DBMS自动维护去累积递增的一个数字。在Oracle中,有四种SCN参数,分别为:系统检查点SCN、数据文件检查点SCN、启动SCN、终止SCN。每个SCN都对应一个时间点。因此,确定SCN参数,实际就是确定迁移指令的迁移时间点。需要注意的是,本步骤中不能选择实际时间作为迁移时间。在数据库中,哪怕每一秒中都可能发生了若干次数据增量操作。因此难以直接以时间作为迁移时间。为此,本申请利用SCN作为迁移时间点。S102:在SCN参数对应的时间将数据库全库数据一致性逻辑导出,以使目的库恢复数据库全库数据;确定SCN参数后,将其对应的时间的数据库全库数据一致性逻辑导出,指的是数据库在该SCN参数对应时间的状态,包括在该时间之前的所有数据。将数据库全库数据全部导出后,即可在目的库进行恢复。本文档来自技高网...

【技术保护点】
1.一种数据库迁移方法,其特征在于,包括:/n接收到迁移指令时,确定SCN参数;/n将所述SCN参数对应时间的数据库全库数据一致性逻辑导出,以使目的库恢复所述数据库全库数据;/n确定UNDO表空间在所述SCN参数对应的时间之后的数据增量记录;/n将所述数据增量记录导出,并在所述数据增量记录导出后停止数据库业务,以使所述目的库按时间顺序利用所述数据增量记录对所述数据全库数据进行数据增量操作。/n

【技术特征摘要】
1.一种数据库迁移方法,其特征在于,包括:
接收到迁移指令时,确定SCN参数;
将所述SCN参数对应时间的数据库全库数据一致性逻辑导出,以使目的库恢复所述数据库全库数据;
确定UNDO表空间在所述SCN参数对应的时间之后的数据增量记录;
将所述数据增量记录导出,并在所述数据增量记录导出后停止数据库业务,以使所述目的库按时间顺序利用所述数据增量记录对所述数据全库数据进行数据增量操作。


2.根据权利要求1所述的数据库迁移方法,其特征在于,将所述数据增量记录导出包括:
将所述数据增量记录分SCN区间导出;
其中,第一个SCN区间的起点为所述SCN参数对应的时间,其余所述SCN区间的时间起点均为上一个SCN区间的时间终点。


3.根据权利要求1所述的数据库迁移方法,其特征在于,将所述数据增量记录导出时还包括:
判断所述数据库全库数据是否全部导出;
若是,以所述数据库全库数据全部导出时为时间截止点停止所述数据增量记录导出。


4.根据权利要求1所述的数据库迁移方法,其特征在于,所述SCN参数包括系统检查点SCN、数据文件检查点SCN、启动SCN和终止SCN。


5.一种数据库迁移系统,其特征在于,包括:
SCN确定模块,用于接收到迁移指令时,确定SCN参数;
数...

【专利技术属性】
技术研发人员:马国良
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1