Oracle数据跨数据库迁移的方法、装置、设备和存储介质制造方法及图纸

技术编号:29313620 阅读:14 留言:0更新日期:2021-07-17 02:30
本申请涉及大数据技术领域,揭示了Oracle数据跨数据库迁移的方法,包括:获取待迁移数据在源数据表中的表结构信息,表结构信息包括字段类型;根据待迁移数据的字段类型动态拼接查询语句;根据查询语句获取待迁移数据中各字段分别对应的赋值;将待迁移数据中各字段分别对应的赋值,按照各字段在待迁移数据中的排列次序,形成数据列表;将数据列表通过插入语句依次插入至目标数据表中,目标数据表的长度大于或等于源数据表的长度,目标数据表和源数据表分别处于两个数据库中。通过中间状态的数据列表协助数据迁移,保持数据中各字段的排列次序以及数据赋值的完整性,并通过识别字段类型,调用对应的数据转换指令,确保Oracle数据在跨数据库迁移前后相同。在跨数据库迁移前后相同。在跨数据库迁移前后相同。

【技术实现步骤摘要】
Oracle数据跨数据库迁移的方法、装置、设备和存储介质


[0001]本申请涉及大数据
,特别是涉及到Oracle数据跨数据库迁移的方法、装置、设备和存储介质。

技术介绍

[0002]Oracle数据库是以分布式数据库为核心的产品,是使用最为广泛的数据库系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为 一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
[0003]在项目开发过程中,经常遇到如下两个问题:一是测试环境中的测试数据异常,开发排查数据非常耗时,而且经常因为日志信息不够完整而排查不出异常原因,也无法通过快速且精准地迁移数据的方法,将数据快速拷贝到开发库排查异常问题;二是测试人员想从一种测试环境拷贝数据到另一个测试环境时,没有快速且精准地迁移Oracle数据的方法,不能满足测试需求。

技术实现思路

[0004]本申请的主要目的为提供Oracle数据跨数据库迁移的方法,旨在解决现不能快速且精准地迁移Oracle数据的技术问题。
[0005]本申请提出一种Oracle数据跨数据库迁移的方法,包括:获取待迁移数据在源数据表中的表结构信息,其中,所述表结构信息包括字段类型;根据所述待迁移数据的字段类型动态拼接查询语句,其中,所述字段类型包括非字符串数据,所述查询语句通过拼接所述非字符串数据的转换指令,以及所述非字符串数据对应的指定字段名称得到;根据所述查询语句获取所述待迁移数据中各字段分别对应的赋值;将所述待迁移数据中各字段分别对应的赋值,按照各字段在所述待迁移数据中的排列次序,形成数据列表;将所述数据列表通过插入语句依次插入至目标数据表中,其中,所述目标数据表的长度大于或等于所述源数据表的长度,所述目标数据表和所述源数据表分别处于两个数据库中。
[0006]优选地,所述根据所述查询语句获取所述待迁移数据中各字段分别对应的赋值的步骤之后,包括:判断所述非字符串数据是否包括预设长度字段;若是,则调用Oracle数据库中的取值函数;通过所述取值函数获取所述预设长度字段对应的第一赋值;将所述第一赋值,按照字段名称一一对应替换根据所述查询语句获取到的所述预设长度字段的赋值。
[0007]优选地,所述将所述待迁移数据中各字段分别对应的赋值,按照各字段在所述待迁移数据中的排列次序,形成数据列表的步骤,包括:将所述待迁移数据中各字段的字段名称按照所述源数据表中的字段排序,依次填充到第一列表中,其中,所述第一列表为存储字段名的中间态缓存列表;通过所述查询语句从所述源数据表中分别获取所述待迁移数据中各字段的赋值;将所述待迁移数据中各字段的赋值,按照各字段的字段名称在所述源数据表中的排序,依次填充到第二列表中,其中,所述第二列表为存储字段的赋值的中间态缓存列表,所述第一列表中的字段名和所述第二列表中的字段的赋值一一对应;将所述第一列表和第二列表组装成所述数据列表。
[0008]优选地,所述将所述数据列表通过插入语句依次插入至目标数据表中的步骤之前,包括:从所述数据列表中获取待插入数据对应的字段名,以及各字段名分别对应的赋值;将所述待插入数据对应的字段名拼接入插入指令中,形成第一插入指令;判断所述待插入数据对应的字段名对应的字段类型是否为需要转换的指定字段类型;若是,将所述指定字段类型对应的赋值通过所述指定字段类型对应的转换函数进行转换,得到转换赋值;将所述转换赋值拼接入所述第一插入指令中,形成所述插入语句。
[0009]优选地,所述将所述转换赋值拼接入所述第一插入指令中,形成所述插入语句的步骤,包括:判断所述转换赋值对应的字段类型是否为预设长度字段;若是,则获取所述预设长度字段对应的赋值变量;将所述赋值变量的变量名称与所述预设长度字段对应的赋值拼接后,拼接入所述第一插入指令中,形成所述插入语句。
[0010]优选地,所述将所述赋值变量的变量名称与所述预设长度字段对应的赋值拼接后,拼接入所述第一插入指令中,形成所述插入语句的步骤之后,包括:获取所述数据列表中的预设长度字段的字段名;将预设长度字段的字段名添加至声明函数中,对所述数据列表中的预设长度字段进行声明。
[0011]本申请还提供了一种Oracle数据跨数据库迁移的装置,包括:第一获取模块,用于获取待迁移数据在源数据表中的表结构信息,其中,所述表结构信息包括字段类型;拼接模块,用于根据所述待迁移数据的字段类型动态拼接查询语句,其中,所述字段类型包括非字符串数据,所述查询语句通过拼接所述非字符串数据的转换指令,以及所述非字符串数据对应的指定字段名称得到;第二获取模块,用于根据所述查询语句获取所述待迁移数据中各字段分别对应的赋值;第一形成模块,用于将所述待迁移数据中各字段分别对应的赋值,按照各字段在
所述待迁移数据中的排列次序,形成数据列表;插入模块,用于将所述数据列表通过插入语句依次插入至目标数据表中,其中,所述目标数据表的长度大于或等于所述源数据表的长度,所述目标数据表和所述源数据表分别处于两个数据库中。
[0012]本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0013]本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
[0014]本申请通过中间状态的数据列表协助数据迁移,以确保在保持数据中各字段在源数据表中的排列次序,同时满足数据赋值的完整性,并通过识别字段类型,并将字段类型对应的数据转换指令动态拼接在查询语句和插入语句中,确保Oracle数据在跨数据库迁移前后数据完全相同,达到快速且精准地迁移数据的方法,满足测试需求。
附图说明
[0015]图1 本申请一实施例的Oracle数据跨数据库迁移的方法流程示意图;图2 本申请一实施例的Oracle数据跨数据库迁移的装置结构示意图;图3 本申请一实施例的计算机设备内部结构示意图。
具体实施方式
[0016]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0017]参照图1,本申请一实施例的Oracle数据跨数据库迁移的方法,包括:S1:获取待迁移数据在源数据表中的表结构信息,其中,所述表结构信息包括字段类型;S2:根据所述待迁移数据的字段类型动态拼接查询语句,其中,所述字段类型包括非字符串数据,所述查询语句通过拼接所述非字符串数据的转换指令,以及所述非字符串数据对应的指定字段名称得到;S3:根据所述查询语句获取所述待迁移数据中各字段分别对应的赋值;S4:将所述待迁移数据中各字段分别对应的赋值,按照各字段在所述待迁移数据中的排列次序,形成数据列表;S5:将所述数据列表通过插入语句依次插入至目标数据表中,其中,所述目标数据表的长度大于或等于所述源数据表的长度,所述目标数据表和所述源数据表分别处于两个数据库本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Oracle数据跨数据库迁移的方法,其特征在于,包括:获取待迁移数据在源数据表中的表结构信息,其中,所述表结构信息包括字段类型;根据所述待迁移数据的字段类型动态拼接查询语句,其中,所述字段类型包括非字符串数据,所述查询语句通过拼接所述非字符串数据的转换指令,以及所述非字符串数据对应的指定字段名称得到;根据所述查询语句获取所述待迁移数据中各字段分别对应的赋值;将所述待迁移数据中各字段分别对应的赋值,按照各字段在所述待迁移数据中的排列次序,形成数据列表;将所述数据列表通过插入语句依次插入至目标数据表中,其中,所述目标数据表的长度大于或等于所述源数据表的长度,所述目标数据表和所述源数据表分别处于两个数据库中。2.根据权利要求1所述的Oracle数据跨数据库迁移的方法,其特征在于,所述根据所述查询语句获取所述待迁移数据中各字段分别对应的赋值的步骤之后,包括:判断所述非字符串数据是否包括预设长度字段;若是,则调用Oracle数据库中的取值函数;通过所述取值函数获取所述预设长度字段对应的第一赋值;将所述第一赋值,按照字段名称一一对应替换根据所述查询语句获取到的所述预设长度字段的赋值。3.根据权利要求2所述的Oracle数据跨数据库迁移的方法,其特征在于,所述将所述待迁移数据中各字段分别对应的赋值,按照各字段在所述待迁移数据中的排列次序,形成数据列表的步骤,包括:将所述待迁移数据中各字段的字段名称按照所述源数据表中的字段排序,依次填充到第一列表中,其中,所述第一列表为存储字段名的中间态缓存列表;通过所述查询语句从所述源数据表中分别获取所述待迁移数据中各字段的赋值;将所述待迁移数据中各字段的赋值,按照各字段的字段名称在所述源数据表中的排序,依次填充到第二列表中,其中,所述第二列表为存储字段的赋值的中间态缓存列表,所述第一列表中的字段名和所述第二列表中的字段的赋值一一对应;将所述第一列表和第二列表组装成所述数据列表。4.根据权利要求3所述的Oracle数据跨数据库迁移的方法,其特征在于,所述将所述数据列表通过插入语句依次插入至目标数据表中的步骤之前,包括:从所述数据列表中获取待插入数据对应的字段名,以及各字段名分别对应的赋值;将所述待插入数据对应的字段名拼接入插入指令中,形成第一插入指令;判断所述待插入数据对应的字段名对应的字段类型是否为需要转换的指定字段类型;若是,将所述指定字段类型对应的赋值通过所述指定字段类型对应的转换函数进行转换,得到转换赋值;将所述转换赋值拼接入所述...

【专利技术属性】
技术研发人员:刘刚
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:

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

1