一种数据库数据跨平台迁移方法和装置与流程

文档序号:16209100发布日期:2018-12-08 07:30阅读:145来源:国知局
本发明涉及信息技术,尤指一种数据库数据跨平台迁移方法和装置。
背景技术
:高端服务器承载着行业的核心应用,广泛应用在金融、电信、能源、交通等关键应用领域,其运行直接关系到社会、经济的正常运转。以浪潮集团的m13关键应用主机为例,m13关键应用主机是在线交易处理性能最强的高端服务器系统,面向对稳定性和可用性极高的银行、政府、大企业的超大型数据库应用而设计,具备大型机水平的ras特性(可靠性(reliability)、可用性(availability)和可服务性(serviceability))以及比肩大型机的处理性能,具备承载大型机应用的能力,m13小型机的k-ux3.0操作系统是中国首款、并且也是目前唯一通过unix03认证的主机操作系统,为提高信息化建设重大装备的自主可控性,越来越多的信息系统倾向于使用自主产品。因此,在未来较长的一段时间内,国内的it系统建设面临着国产化的变革,具体的信息系统建设与实施层面,体现为越来越多的跨平台迁移工作,其中有相当的迁移工作是从aix平台至浪潮m13主机的m13小型机的k-ux3.0操作平台。数据库是it系统的核心软件,数据库迁移也是it系统建设中极为重要的一部分。由于异构服务器平台的cpu指令集差异、操作系统差异以及编译器差异,使得数据库数据跨平台迁移难度高,工作量大,服务器的用户往往需要花费大量时间精力成本用于数据库的迁移。技术实现要素:为了解决上述技术问题,本发明提供了一种数据库数据跨平台迁移方法和装置,其能够减少迁移数据库所需要的时间。一方面,本发明的实施例提供了一种数据库数据跨平台迁移方法,该方法包括:对于数据库数据的源端和数据库数据的目标端各自所在的平台环境进行扫描;根据扫描结果与迁移算法,生成迁移评估报告与建议的迁移方案;根据用户对建议的迁移方案的选择和迁移算法,生成迁移向导,其中,迁移向导提示用户采取相应的迁移方案,以实现跨平台半自动迁移数据库数据。本发明实施例的有益效果在于,通过本发明实施例的方法,能够快速地将数据库从其他平台迁移到关键应用主机系统上,可以大大减少迁移数据库所需要的时间;通过生成迁移向导,能够半自动方式地指导用户迁移数据库,减少用户的工作量。进一步地,在一个可选的实施例中,对于数据库数据的源端和数据库数据的目标端各自所在的平台环境进行扫描的步骤,包括:收集数据库数据的源端和数据库数据的目标端各自的平台信息与数据库信息,其中,平台信息包括处理器架构信息、指令集信息、字节序信息、编译器信息、操作系统信息、系统变量信息及文件系统信息,数据库信息包括数据库版本信息、数据量信息、表信息、索引信息、存储过程信息、用户信息、日志信息。进一步地,在一个可选的实施例中,根据扫描结果与迁移算法,生成迁移评估报告与建议的迁移方案的步骤,包括:将在目标端的平台信息与数据库信息中的各项信息与在目标端的平台信息与数据库信息中的对应项的信息进行对比,以得出平台差异分析表;根据平台差异分析表、源端的数据库信息以及迁移算法,制定并且输出建议的迁移方案。进一步地,在一个可选的实施例中,在根据用户对建议的迁移方案的选择和迁移算法,生成迁移向导的步骤之后,方法还包括:根据迁移向导、迁移算法及用户对建议的迁移方案的选择,对源端数据库的数据进行备份,并将每一步备份操作的结果反馈给用户和目标端。进一步地,在一个可选的实施例中,迁移算法包括迁移向导生成算法,数据库为oracle数据库,迁移向导生成算法包括:1)制定平台差异分析表的格式;2)制定在平台差异分析表中的每条差异对应的建议的迁移方案:如果源端数据库版本为oracle9i,则使用导入/导出备份恢复算法进行迁移;如果源端数据库版本为oracle10g或oracle11g,则根据数据量和时间窗口而选择迁移方法和不同的转储文件传输建议;其中,如果数据量<1tb,时间窗口为8~12小时,则采用跨平台表空间增量迁移xtts备份恢复算法执行数据迁移,并采用文件传输协议ftp或网络文件系统nfs中转服务器的方式移动数据文件;如果数据量<1tb,时间窗口为12~48小时,采用数据泵备份恢复算法执行数据迁移;如果数据量1~5tb,时间窗口为8~24小时,则采用跨平台表空间增量迁移xtts备份恢复算法执行数据迁移,并采用文件传输协议ftp传输或网络文件系统nfs中转服务器的方式移动数据文件;如果数据量1~5tb,时间窗口为24~48小时,则采用数据泵备份恢复算法执行数据迁移;如果数据量5~10tb,时间窗口为8~48小时,则采用跨平台表空间增量迁移xtts备份恢复算法执行数据迁移,并采用网络文件系统nfs作为中转服务器或存储重新挂载的方式移动数据文件;如果数据量>10tb,时间窗口为8~48小时,则采用跨平台表空间增量迁移xtts备份恢复算法执行数据迁移,并采用存储重新挂载的方式移动数据文件;根据表信息、用户信息、存储过程信息,预估迁移时间,迁移时间包括数据库备份时间、转储文件传输时间、数据库恢复时间;3)根据以上信息生成建议的迁移方案,并将建议的迁移方案发送给用户和目标端;4)对比源端数据库信息与在目标端已迁移并且恢复的数据库信息,得出源端数据库与目标端数据库的一致性检查表,以供用户检查。进一步地,在一个可选的实施例中,跨平台表空间增量迁移xtts备份恢复算法包括:1)创建目标数据库:采用数据库配置工具dbca的方式创建目标数据库;2)验证源端数据库和目标端数据库的各个选项,选项包括:系统平台、字节序、字符集、时区版本、监听器、透明网络底层tns;3)初始化:生成迁移脚本,修改目标端系统默认表空间;4)删除目标数据库用户表空间;5)创建映射用户;6)导出源端数据库的元数据库;7)进行用户表空间自包含检查;8)变更源端数据库用户表空间状态;9)导出源端数据库用户表空间元数据;10)采用在文件传输协议ftp传输的方式、网络文件系统nfs作为中间服务器的方式和存储重新挂载的方式中的一种方式来移动元数据文件;11)转换源端数据库数据文件字节序;12)导入源端数据库用户表空间元数据;13)还原目标端数据库用户表空间状态;14)导入源端数据库元数据;15)还原系统默认表空间,无效对象编译;16)还原源端数据库用户表空间状态;17)收集已迁移并且恢复的目标数据库信息,以生成源端数据库与目标端数据库的一致性检查表,以供用户检查。进一步地,在一个可选的实施例中,数据泵备份恢复算法包括:1)从源端数据库导出数据到进程的内存镜像dump文件;2)移动进程的内存镜像dump文件到目标端的数据库;3)导入进程的内存镜像dump文件中数据到目标端的数据库;4)对比源端数据库信息与在目标端已迁移并且恢复的数据库信息,得出源端数据库与目标端数据库的一致性检查表,以供用户检查。另一方面,本发明的实施例还提供了一种数据库数据跨平台迁移装置,该装置用于执行上述实施例所述的方法。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。图1为本发明的实施例提供的数据库数据跨平台迁移方法的流程图;图2为本发明的可选实施例提供的数据库数据跨平台迁移方法的流程图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。一方面,本发明的实施例提供了一种数据库数据跨平台迁移方法,该方法包括,步骤s101-s105。步骤s101,对于数据库数据的源端和数据库数据的目标端各自所在的平台环境进行扫描。步骤s103,根据扫描结果与迁移算法,生成迁移评估报告与建议的迁移方案。步骤s105,根据用户对建议的迁移方案的选择和迁移算法,生成迁移向导,其中,所述迁移向导提示用户采取相应的迁移方案,以实现跨平台半自动迁移数据库数据。其中,源端是aix(advancedinteractiveexecutive,高级交互执行体)平台,是ibm公司基于at&tunixsystemv开发的一套类unix操作系统,运行在ibm专有的power系列芯片设计的小型机硬件系统之上。它符合opengroup的unix98行业标准(theopengroupunix98basebrand),通过全面集成对32-位和64-位应用的并行运行支持,为这些应用提供了全面的可扩展性。目标端为m13小型机的k-ux3.0平台,通过以太网实现源端与目标端通信,在源端或目标端均可对工具进行操作。迁移工具方法的实现主体的架构基于java实现,以实现跨平台特性,实现主体分别部署于源端与目标端,源端与目标端通过以太网通信。本发明实施例的有益效果在于,通过本发明实施例的方法,能够快速地将数据库从其他平台迁移到关键应用主机系统上,可以大大减少部署数据库所需要的时间;通过生成迁移向导,能够半自动方式地指导用户迁移数据库,减少用户的工作量。进一步地,在一个可选的实施例中,步骤s101包括:收集数据库数据的源端和数据库数据的目标端各自的平台信息与数据库信息,其中,平台信息包括处理器架构信息、指令集信息、字节序信息、编译器信息、操作系统信息、系统变量信息及文件系统信息,所述数据库信息包括数据库版本信息、数据量信息、表信息、索引信息、存储过程信息、用户信息、日志信息。进一步地,在一个可选的实施例中,步骤s105包括:将在所述目标端的平台信息与数据库信息中的各项信息与在所述目标端的平台信息与数据库信息中的对应项的信息进行对比,以得出平台差异分析表;根据平台差异分析表、源端的数据库信息以及迁移算法,制定并且输出建议的迁移方案。在此,将源端平台信息、源端的数据库信息、平台差异分析表、迁移方案、迁移向导发送至目标端。进一步地,在一个可选的实施例中,在步骤s105之后,该方法还包括步骤s107。步骤s107,根据迁移向导、迁移算法及所述用户对建议的迁移方案的选择,对源端数据库的数据进行备份,并将每一步备份操作的结果反馈给用户和目标端。进一步地,在一个可选的实施例中,迁移算法包括迁移向导生成算法,数据库为oracle数据库,迁移向导生成算法包括:1)制定所述平台差异分析表的格式;2)制定在所述平台差异分析表中的每条差异对应的建议的迁移方案:如果源端数据库版本为oracle9i,则使用导入/导出备份恢复算法进行迁移;如果源端数据库版本为oracle10g或oracle11g,则根据数据量和时间窗口而选择迁移方法和不同的转储文件传输建议;其中,如果数据量<1tb,时间窗口为8~12小时,则采用xtts(crossplatformtransportabletablespaces,跨平台表空间增量迁移)备份恢复算法执行数据迁移,并采用ftp(filetransferprotocol,文件传输协议)或nfs(networkfilesystem,网络文件系统)中转服务器的方式移动数据文件;如果数据量<1tb,时间窗口为12~48小时,采用数据泵备份恢复算法执行数据迁移;如果数据量1~5tb,时间窗口为8~24小时,则采用xtts备份恢复算法执行数据迁移,并采用文件传输协议ftp传输或网络文件系统nfs中转服务器的方式移动数据文件;如果数据量1~5tb,时间窗口为24~48小时,则采用数据泵备份恢复算法执行数据迁移;如果数据量5~10tb,时间窗口为8~48小时,则采用xtts备份恢复算法执行数据迁移,并采用网络文件系统nfs作为中转服务器或存储重新挂载的方式移动数据文件;如果数据量>10tb,时间窗口为8~48小时,则采用xtts备份恢复算法执行数据迁移,并采用存储重新挂载的方式移动数据文件;根据所述表信息、用户信息、存储过程信息,预估迁移时间,所述迁移时间包括数据库备份时间、转储文件传输时间、数据库恢复时间;3)根据以上信息生成建议的迁移方案,并将所述建议的迁移方案发送给所述用户和所述目标端;4)对比源端数据库信息与在所述目标端已迁移并且恢复的数据库信息,得出源端数据库与目标端数据库的一致性检查表,以供用户检查。在此,收集已迁移并且恢复的目标端的数据库信息,其中,目标端的数据库信息包括数据库版本信息、数据量信息、表信息、索引信息、存储过程信息、用户信息、日志信息,与源端的数据库信息一一对比,生成源端数据库与目标端数据库的一致性检查表,并且发送源端数据库与目标端数据库一致性检查表,供人工检查。同时,还可以将源端数据库与目标端数据库的一致性检查表发送至源端,以使用户在源端从一致性检查表中能够得到一致性信息。进一步地,在一个可选的实施例中,所述跨平台表空间增量迁移xtts备份恢复算法包括:1)创建目标数据库:采用dbca(databaseconfigurationassistant,数据库配置工具)的方式创建目标数据库;2)验证源端数据库和目标端数据库的各个选项,该选项包括:系统平台、字节序、字符集、时区版本、监听器、tns(transparentnetworksubstrate,透明网络底层);3)初始化:生成迁移脚本,修改目标端系统默认表空间;4)删除目标数据库用户表空间;5)创建映射用户;6)导出源端数据库元数据库;7)进行用户表空间自包含检查;8)变更源端数据库用户表空间状态;9)导出源端数据库用户表空间元数据;10)采用在文件传输协议ftp传输的方式、网络文件系统nfs作为中间服务器的方式和存储重新挂载的方式中的一种方式来移动元数据文件;11)转换源端数据库数据文件字节序;12)导入源端数据库用户表空间元数据;13)还原目标端数据库用户表空间状态;14)导入源端数据库元数据;15)还原系统默认表空间,无效对象编译;16)还原源端数据库用户表空间状态;17)收集已迁移并且恢复的目标数据库信息,以生成源端数据库与目标端数据库的一致性检查表,以供用户检查、在此,收集的已迁移并且恢复的目标数据库信息,包括数据库版本信息、数据量信息、表信息、索引信息、存储过程信息、用户信息、日志信息,与收集的源端数据库信息一一对比,生成源端数据库与目标端数据库的一致性检查表,并且发送源端数据库与目标端数据库的一致性检查表,供人工检查。同时,还可以将源端数据库与目标端数据库的一致性检查表发送至源端,以使用户在源端从一致性检查表中能够得到一致性信息。进一步地,在一个可选的实施例中,所述数据泵备份恢复算法包括:1)在源端数据库导出数据到进程的内存镜像dump文件;其中,如果数据从oracle11g的数据库迁移到oracle10g的数据库,则在导出时,需要制定名为version的参数。例如,从oracle11g的数据库迁移到oracle10.2.0.1.0,则导出语句为:expdpuserid='test/test@orclassysdba'schemas=testdirectory=data_pump_dirdumpfile=test.dmplogfile=test.logversion=10.2.0.1.02)移动进程的内存镜像dump文件到目标端的数据库。3)导入进程的内存镜像dump文件中数据到目标端的数据库。4)对比源端数据库信息与在所述目标端已迁移并且恢复的数据库信息,得出源端数据库与目标端数据库的一致性检查表,以供用户检查。在此,收集已迁移并且恢复的目标端的数据库信息,其中,目标端的数据库信息包括数据库版本信息、数据量信息、表信息、索引信息、存储过程信息、用户信息、日志信息,与源端的数据库信息一一对比,生成源端数据库与目标端数据库的一致性检查表,并且发送源端数据库与目标端数据库一致性检查表,供人工检查。同时,还可以将源端数据库与目标端数据库的一致性检查表发送至源端,以使用户在源端从一致性检查表中能够得到一致性信息。另一方面,本发明的实施例还提供了一种数据库数据跨平台迁移装置,该装置用于上述实施例中的方法。虽然本发明所揭露的实施方式如上,但上述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1