一种从HPUX平台向KUX平台迁移的Oracle数据库迁移工具的制作方法
【专利说明】
具
技术领域
[0001]本发明涉及通信信息技术领域,具体地说是一种实用性强、从HPUX平台向KUX平台迀移的Oracle数据库迀移工具。
【背景技术】
[0002]高端服务器承载着行业的核心应用,广泛应用在金融、电信、能源、交通等关键应用领域,其运行直接关系到社会、经济的正常运转。长期以来,由于缺乏高端服务器设计和制造能力,我国高端服务器市场一直为国外厂商把持,其中惠普长期占据20%以上的国内市场。在科技部“十一五”863计划的支持下,相关部门、科研单位积极配合,浪潮已成功研制了 32路高端容错计算机系统,可用度达到99.999%,系统联机事务处理能力达到世界先进水平。为提高信息化建设重大装备的自主可控性,越来越多的信息系统倾向于使用自主产品。因此,在未来较长的一段时间内,国内的IT系统建设面临着国产化的变革,具体的信息系统建设与实施层面,体现为越来越多的跨平台迀移工作,其中有相当的迀移工作是从HP-UX平台至浪潮K-UX平台。
[0003]数据库是IT系统的核心软件,数据库迀移也是IT系统建设中极为重要的一部分。由于异构服务器平台的CPU指令集差异、操作系统差异以及编译器差异,使得数据库跨平台迀移难度高,工作量大。如何降低移植难度,减少工作量,是数据库跨平台迀移需要解决的关键问题。
【发明内容】
[0004]本发明的技术任务是针对以上不足之处,提供一种实用性强、从HPUX平台向KUX平台迀移的Oracle数据库迀移工具。
[0005]—种从HPUX平台向KUX平台迀移的Oracle数据库迀移工具,分为源端与目标端两部分,源端安装于HP-UX服务器平台,目标端安装于K-UX平台,源端与目标端通过以太网通信,在源端与目标端均可对该工具进行操作;源端和目标端对各自所在平台环境进行扫描,根据扫描结果与迀移算法,生成迀移评估报告与迀移方案建议;根据用户对迀移方案建议的筛选和迀移算法生成迀移向导,通过迀移向导对用户的提示与指导,实现Oracle数据库数据从HP-UX平台至K-UX平台的跨平台跨版本半自动迀移。
[0006]所述源端包含通信模块、分析模块、备份模块与控制台模块,在该源端,控制台模块的通信端口分别连接连接分析模块、备份模块和通信模块;分析模块、备份模块的通信端口均连接上述通信模块;
所述目标端包含通信模块、分析模块、恢复模块与控制台模块,在该目标端,控制台模块的通信端口分别连接连接分析模块、恢复模块和通信模块;分析模块、恢复模块的通信端口均连接通信模块,且该目标端的通信模块还连接上述源端的通信模块。
[0007]所述通信模块通过以太网实现源端与目标端通信,其中源端的通信模块将该源端的分析模块、备份模块、控制台模块发送的信息通过以太网发送至目标端的通信模块;目标端的通信模块将该目标端的分析模块、备份模块、控制台模块发送的信息通过以太网发送至源端的通信模块。
[0008]源端的分析模块收集源端平台信息与数据库信息,目标端的分析模块收集目标端平台信息与恢复的数据库信息,平台信息包括处理器架构信息、指令集信息、字节序信息、编译器信息、操作系统信息、系统变量信息及文件系统信息,源端的数据库信息、目标端恢复的数据库信息均包括数据库版本信息、数据量信息、表信息、索引信息、存储过程信息、用户信息、日志信息;
源端的分析模块通过源端的通信模块接收目标端的分析模块收集的目标端平台信息,对比源端平台信息与目标端平台信息,得出源端、目标端平台差异分析表输出至源端的控制台模块;目标端的分析模块通过目标端的通信模块接收源端分析模块收集的源端数据库信息,对比源端数据库信息与目标端已恢复的数据库信息,得出源端数据库、目标端数据库一致性检查表输出至控制台模块;
源端分析模块根据平台差异分析表、收集的源端数据库信息以及迀移算法,制定迀移方案输出至源端的控制台模块,根据控制台模块反馈的人工干预信息,生成迀移向导指导迀移,源端分析模块将源端平台信息、源端数据库信息、平台差异分析表、迀移方案、迀移向导发送至源端的通信模块;目标端分析模块将目标端平台信息、目标端数据库信息、数据库一致性检查表、发送至目标端的通信模块。
[0009]所述源端的备份模块根据迀移向导、迀移算法及控制台发送的人工干预执行源端Oracel数据库备份操作,并反馈每步操作的结果至源端的控制台模块与通信模块;目标端的恢复模块根据迀移向导、迀移算法及控制台发送的人工干预执行源端Oracle数据库恢复操作,并反馈每步操作的结果至目标端的控制台模块与通信模块。
[0010]所述源端的控制台模块和目标端的控制台模块均用于实现人机交互。
[0011]所述迀移算法包括迀移向导生成算法、导入导出备份恢复算法、XTTS备份恢复算法和数据栗备份恢复算法;其中,
迀移向导生成算法步骤如下:
O制定源端、目标端平台差异分析表的格式;
2)制定每条差异对应的迀移方案建议;
3)根据源端数据库版本,选择不同方式进行迀移;
4)根据表信息、用户信息、存储过程信息预估迀移时间,这里的迀移时间包括数据库备份时间、转储文件传输时间、数据库恢复时间;
5)分析模块根据以上信息生成迀移方案建议,并将迀移方案建议发送至源端的控制台模块和通信模块;
6)根据用户对迀移方案建议的决策,生成迀移向导;
导入导出备份恢复算法步骤如下:
O备份模块执行源端用户数据库一致性检查;
2)备份模块备份源端数据库,生成转储文件,反馈结果;
3)提示用户传输转储文件;
4)用户通过源端控制台模块或目标端控制台模块确认转储文件传输完毕; 5)恢复模块在目标端导入用户库,并反馈结果;
6)恢复模块在目标数据库执行一致性检查,反馈检查结果;
7)目标端分析模块收集已恢复的目标数据库信息,包括数据库版本信息、数据量信息、表信息、索引信息、存储过程信息、用户信息、日志信息,与源端分析模块收集的源端数据库信息一一对比,生成源端数据库、目标端数据库一致性检查表,并将源端数据库、目标端数据库一致性检查表发送至控制台模块供人工检查,将源端数据库、目标端数据库一致性检查表发送至通信模块以使用户在源端控制台模块同样能够得到一致性信息;
XTTS备份恢复算法步骤如下:
1)创建目标数据库;
2)环境验证,即验证源数据库和目标数据库各个选项;
3)初始化,生成迀移脚本,修改目标库系统默认表空间;
4)删除目标数据库用户表空间;
5)创建映射用户;
6)导出源数据库元数据库;
7)用户表空间自包含检查;
8)变更源数据库用户表空间状态;
9)导出源数据库用户表空间元数据;
10)移动元数据文件和新格式的数据文件;
11)转换源数据库数据文件字节序;
12)导入源数据库用户表空间元数据;
13)还原目标数据库用户表空间状态;
14)导入源数据库元数据;
15)目标数据库后续处理,还原系统默认表空间,无效对象编译;
16)还原源数据库用户表空间状态;
17)目标端分析模块收集已恢复的目标数据库信息,包括数据库版本信息、数据量信息、表信息、索引信息、存储过程信息、用户信息、日志信息,与源端分析模块收集的源端数据库信息一一对比,生成源端数据库、目标端数据库一致性检查表,并将源端数据库、目标端数据库一致性检查表发送至控制台模块供人工检查,将源端数据库、目标端数据库一致性检查表发送至通信模块,以使用户在源端控制台模块同样能够得到一致性信息;
数据栗备份恢复算法步骤如下:
1)在源数据库导出数据到dump文件;
2)移动dump文件到目标库;
3)导入dump文件中数据到目标库;
4)目标端分析模块收集已恢复的目标数据库信息,包括数据库版本信息、数据量信息、表信息、索引信息、存储过程信息、用户信息、日志信息,与源端分析模块收集的源端