【技术实现步骤摘要】
一种数据库在线迁移的方法及系统
[0001]本申请涉及数据库备份
,特别是涉及一种数据库在线迁移的方法及系统。
技术介绍
[0002]数据库迁移是数据库备份中常见的一种操作。在数据库逻辑迁移中,又包括:跨操作系统和硬件平台迁移和同操作系统同平台内迁移。在数据库迁移过程中,如何确保数据库迁移操作稳定进行、确保源库数据和目标库数据的一致,是个重要的技术问题。
[0003]目前的数据库迁移,通常采用expdp/impdp的逻辑迁移方式。具体地,采用expdp/impdp的逻辑迁移方式时,需要确保源库的数据是静止的,即:在导出开始后源库数据需要停止业务系统,不允许有增删改操作,从而确保源库数据和目标库数据的一致。
[0004]然而,目前的数据库迁移方法中,由于需要确保源库静止,才能进行数据库迁移,而且采用expdp/impdp的逻辑迁移方式会使得源库停止时间较长。在源库静止时,会影响业务系统正常使用。尤其当数据量较大的情况下,逻辑导出和逻辑导入需要花费较长的时间,使得业务系统中断时间也相对较长。因此,目前的数据库迁移方法使得数据库迁移效率较低,进而导致业务系统工作效率较低。
技术实现思路
[0005]本申请提供了一种数据库在线迁移的方法及系统,以解决现有技术中数据库迁移效率较低的问题。
[0006]为了解决上述技术问题,本申请实施例公开了如下技术方案:
[0007]一种数据库在线迁移的方法,所述方法包括:
[0008]在源数据库中建立记录变更表,所述记录变更表用于 ...
【技术保护点】
【技术特征摘要】
1.一种数据库在线迁移的方法,其特征在于,所述方法包括:在源数据库中建立记录变更表,所述记录变更表用于记录导出操作开始后源数据库用户业务表中发生的数据变化,以及记录用户业务表中最新操作的增删改信息,所述记录变更表中的记录变更参数包括:用户名、表名、前HASH值、后HASH值、操作以及ROWID信息;为用户业务表增加触发器,所述触发器用于捕获表记录增删改操作,并根据增删改操作生成并记录不同的操作内容,其中,任一用户业务表与一个触发器相匹配;利用所述记录变更表和触发器,执行数据库逻辑导出;按照先导入全量数据再导入增量数据的顺序,执行数据库逻辑导入。2.根据权利要求1所述的一种数据库在线迁移的方法,其特征在于,所述为用户业务表增加触发器,包括:当前记录为新增记录时,新增记录插入到用户业务表后,将所有列值聚合后进行HASH计算,生成第一HASH值,并记录当前的记录变更参数;当前记录为删除记录时,在删除前,将所有列值聚合后进行HASH计算,生成第二HASH值,并记录当前的记录变更参数;当前记录为更改记录时,在更改前将所有列值聚合后进行HASH计算,生成第三HASH值,并记录当前的记录变更参数。3.根据权利要求1所述的一种数据库在线迁移的方法,其特征在于,利用所述记录变更表和触发器,执行数据库逻辑导出的方法,包括:利用所述记录变更表和触发器,对数据库进行全量导出,生成一个全量导出文件;停止业务系统,使源数据库达到静止状态;根据记录变更表中所记录的内容,对所述数据库进行增量导出。4.根据权利要求3所述的一种数据库在线迁移的方法,其特征在于,所述根据记录变更表中所记录的内容,对所述数据库进行增量导出,包括:当变更记录操作类型为新增操作时,通过ROWID信息查找当前的用户业务表记录,读取并保存当前的变更记录;当变更记录操作类型为删除操作时,不执行任何操作;当变更记录操作类型为修改操作时,通过ROWID信息查找当前的用户业务表记录,读取并保存当前的变更记录。5.根据权利要求1所述的一种数据库在线迁移的方法,其特征在于,所述按照先导入全量数据再导入增量数据的顺序,执行数据库逻辑导入,包括:根据所述导出文件,向目标库中导入全量数据;根据记录变更表中的行记录操作类型,向目标库中导入增量数据,所述行记录操作类型包括:新增记录、删除记录和修改记录。6.根据权利要求5所述的一种数据库在线迁移的方法,其特征在于,当行记录操作类型为新增记录时,所述根据记录变更表中的记录操作类型,向目标库中导入增量数据,包括:计算与行记录相匹配的原记录变更...
【专利技术属性】
技术研发人员:陈彬,马国良,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。