一种针对Oracle数据库跨平台数据迁移方法与流程

文档序号:12863862阅读:1462来源:国知局
本发明涉及数据库
技术领域
:,尤其涉及了一种针对oracle数据库跨平台数据迁移方法。
背景技术
::oracle数据库系统是美国oracle公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(client/server)或b/s体系结构的数据库之一。比如silverstream就是基于数据库的一种中间件。oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了oracle知识,就可以在各种类型的机器上使用它。xtts是oracle跨平台数据迁移的有效方法,但对于大数据量的系统,初始化和增量备份时间过长。但是,在实际生产环境中,对于具体的作业时间有明确要求不能对正常运行的业务有影响。如果能将作业时间打散分片,按需配置,则会大大增加该方法的实用性。技术实现要素:本发明针对现有技术中oracle数据库异构平台迁移中使用xtts方法,大数据量情况下初始化和增量备份耗时较长,数据迁移操作本身消耗操作系统资源,尤其是有大量io操作,对正式运行的数据库性能会有所影响的缺点,提供了一种针对oracle数据库跨平台数据迁移方法。为了解决上述技术问题,本发明通过下述技术方案得以解决。一种针对oracle数据库跨平台数据迁移方法,包括如下步骤:(1)获取数据库迁移总数据量和输入输出的性能大小,根据数据库内每个表空间数据量大小进行编写迁移分批次表,具体过程为:①通过数据库恢复管理器测试数据库每秒的吞吐能力,来选择并行度,使数据库的吞吐能力达到最大;②设定基准值,基准值为数据库的工作时间,根据步骤①中测试的吞吐能力计算在基准值内产生的数据量,再根据数据量算出需要表空间的数量;(2)在初始化阶段作业时间片内,根据步骤(1)中计算出的表空间数量和并行度,来修改配置文件中的表空间参数和并行参数,通过数据库恢复管理器实现:用数据库恢复管理器对表空间的数据文件进行复制,复制结束之后备份生成新数据存放位置文件和迁移起始时间文件;每个批次的复制完成后,使用产生的字节序转换命令进行转换生成符合目标端字节序的数据文件;(3)在前滚操作的作业时间片内,根据步骤(2)修改配置文件中的表空间参数和前滚操作需要的并行参数;以此对每个表空间发生的数据变化做增量备份,并通过数据库恢复管理器将增量备份通过数据块恢复的方式应用到转换后的数据文件上。作为优选,时间片为迁移作业的时间。作为优选,步骤(2)中,新数据存放位置文件用于记录了每次初始化后新数据文件的存放位置;迁移起始时间文件用于记录新数据迁移的起始时间点。作为优选,步骤(2)中,表空间为一组数据文件的集合;并行度为数据拷贝过程中同时工作的进程数量。作为优选,步骤(2)中,当日迁移的表空间和所需要的并行度通过内置转换包实现:先通过脚本生成数据库命令文件,数据库命令文件用于进行数据文件的拉取,将待迁移的数据文件转换生成符合目标端字节序的数据文件,并且备份生成新数据存放位置文件和迁移起始时间文件。本发明由于采用了以上技术方案,具有显著的技术效果:本发明解决了原有方法初始化和增量备份时间跨度长,难以避免覆盖线上业务时间的缺点;打散了数据初始化和进行增量备份的时间,使数据迁移的作业时间更加灵活,从而可以保证数据迁移在业务低峰期完成。附图说明图1是本发明一种针对oracle数据库跨平台数据迁移方法中运行原理图;图2是本发明一种针对oracle数据库跨平台数据迁移方法的工作示意图。具体实施方式下面结合附图与实施例对本发明作进一步详细描述。实施例1如图1至图2所示,一种针对oracle数据库跨平台数据迁移方法,包括如下步骤:(1)获取数据库迁移总数据量和输入输出的性能大小,根据数据库内每个表空间数据量大小进行编写迁移分批次表,作为实际实际迁移的行动指导,具体过程为:①通过数据库恢复管理器oraclerman(recoverymanager)测试数据库每秒的吞吐能力;②设定基准值,基准值为数据库的工作时间,根据步骤①中测试的吞吐能力计算在基准值内产生的数据量,对每个表空间进行划分;步骤①中测算出吞吐为100m/s,数据库的工作时间为每天6个小时,那么每天产生的数据量就是100m/s*3600s*6=2tb;当日做初始化的总数据量不能超过2tb;数据库中有10个表空间,tbs1~tbs10,每个表空间数据量为1tb,那么每天只能迁移2个表空间;(2)在初始化阶段作业时间片内,时间片为迁移作业的时间,通常作业时间片为业务要求在晚6点到晚12点进行数据迁移,用xtts主程序读取参数文件,修改配置文件中的表空间参数和并行参数,以此来指定当日迁移的表空间和所需要的并行度,表空间为一组数据文件的集合;并行度为数据拷贝过程中同时工作的进程数量;在第一天需要将表空间参数指定为tbs1,tbs2,第二天将表空间参数指定为tbs3,tbs4,以此类推。每天需要使用8个并行度来进行数据的初始化,则修改xtt.properties文件中的参数如下:tablespaces=tbs1,tbs2;parallel=8;初始化包括以下方式实现:通过数据库恢复管理器(oraclerman)实现:用数据库恢复管理器对表空间的数据文件进行复制,复制结束之后备份生成新数据存放位置文件(xttnewdatafiles.txt)和迁移起始时间文件(xttplan.txt);每个批次的复制完成后,使用产生的字节序转换命令进行转换;新数据存放位置文件用于记录了每次初始化后新数据文件的存放位置;迁移起始时间文件用于记录新数据迁移的起始时间点;(3)在前滚操作的作业时间片内,根据步骤(2)修改配置文件中的表空间参数和前滚操作需要的并行参数;以此对每个表空间发生的数据变化做增量备份,并通过数据库恢复管理器将增量备份通过数据块恢复的方式应用到转换后的数据文件上。实施例2同实施例1所不同的是:总共需要迁移tbs1,tbs2和tbs3三个表空间,需要使用8个并行度来进行数据的前滚,则修改xtt.properties文件中的参数如下:tablespaces=tbs1,tbs2,tbs3;rollparallel=8。初始化方式通过以下方式实现:②通过内置转换包实现:使用oracle内置的包dbms_file_transfer,先通过脚本(xttdriver.plperl)生成数据库命令文件(getfile.sql),数据库命令(getfile.sql)文件用于进行数据文件的拉取,将待迁移的数据文件转换生成符合目标端字节序的数据文件,并且备份生成新数据存放位置文件(xttnewdatafiles.txt)和迁移起始时间文件(xttplan.txt);总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1