[发明专利]一种基于Oracle数据库的在线数据迁移方法有效
申请号: | 200710088681.1 | 申请日: | 2007-03-15 |
公开(公告)号: | CN101266606A | 公开(公告)日: | 2008-09-17 |
发明(设计)人: | 陈吉平 | 申请(专利权)人: | 阿里巴巴公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 李湘;刘宗杰 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 oracle 数据库 在线 数据 迁移 方法 | ||
技术领域
本发明涉及数据库应用技术,尤其涉及Oracle数据库的应用技术。
背景技术
随着数据库管理系统和操作系统平台更新换代的速度不断加快,数据库工程 师经常需要在两个不同的数据库之间或在两种不同的操作系统平台之间进行数据 迁移。数据迁移是指将数据从一台机器迁移到另一台机器,或者将数据从一个数 据库迁移到另一个数据库,并且这些数据(包括结构定义)在转移后能正常运行。
在现有技术中,常用的数据迁移方法主要包括:采用导出/导入(export/import) 或者Oracle10g版本提供的导出/导入(expdp/impdp)方式、insert/*+append */into...from db_link+nologging、standby迁移方式、利用stream与相关工 具进行的数据迁移和基于表空间传输以及Oracle10g的跨平台数据文件转换结 合的方式。但是,上述的这些迁移方式有的停机时间过长,有的难以确定完全同 步开始时的SCN点,有的则不能跨平台、跨版本和跨字符集进行数据迁移。
发明内容
针对基于Oracle数据库而进行数据迁移时所存在的上述技术缺陷,本发明提 供了可实现跨平台、跨版本且高效快速的在线数据迁移方法。
按照本发明的一个方面,提供了一种采用prebuilt mv(materialized view:物化 视图)方式进行数据迁移的方法。该方法是指在预先创建好的表上面建立物化视 图,当该物化视图被删除的时候,原来已创建好的表仍予以保留,同时同步过来 的数据也被保留。该方法采用表对象作为数据迁移的单个对象,并针对该表对象 用一个主键刷新mv。首先在源表上创建mv日志,并在目标数据库上创建结构 一样的目标表;然后在目标表上采用prebuilt方式创建mv,并进行完全刷新; 在以后的创建过程中采用增量刷新方式,当需要进行数据库切换时只需刷新增量 的日志,删除mv和保留目标表。该方法所实现的数据迁移可采用下列步骤:
(1)依照预定的容量大小对表对象进行分级,将超过所述预定容量的表对象作 为大表,将低于所述预定容量的表对象作为小表;
(2)将所述大表作为源表,在源数据库上创建物化视图日志;
(3)在目标数据库上创建与所述源表的结构相同的目标表,并在所述目标表上 采用prebuilt方式创建物化视图;
(4)对同步日志进行完全刷新;
(5)对所述同步日志进行增量刷新;
(6)创建可实现自动增量刷新的程序代码;
(7)按上述步骤(2)-(6)依次处理所有的大表;
(8)对采用insert/*+append*/into...from db_link处理的小表,整理好insert into的脚本;
(9)运行所述的insertinto脚本,对所述小表进行数据迁移;以及
(10)迁移切换。
更具体地,在进行迁移切换时,包括如下的一系列操作:停止源数据库的一 切活动、等待最后一批日志完成增量刷新、运行小表脚本并insertinto小表数据、 等待所有的大表完成刷新、删除源表中的mvlog和目标表中的mv并保留目标表 和数据、创建与目标表有依赖关系的对象(如自增长的序列)。
按照本发明的又一个方面,提供了一种使用创建触发器和创建过程相结合的 方式(trigger+procedure)进行数据迁移的方法。该方法采用表对象作为数据迁移 的单个对象,并要求该表对象有一个主键。首先利用触发器记录该表的DML(Data Manipulation Language:数据操纵语言)日志,然后通过用户自定义的过程与该 DML日志同步。鉴于该方法主要弥补了采用prebuiltmv方式进行数据迁移时难 以刷新大表的缺点,下列步骤主要用来完全刷新大表:
(1)依照预定的容量大小对表对象进行分级,将超过所述预定容量的表对象作 为大表,将低于所述预定容量的表对象作为小表;
(2)将所述大表作为源表,在所述源表上创建数据操纵语言的触发器;
(3)在目标数据库上创建与所述源表结构相同的目标表;
(4)所述触发器开始工作后,分批载入所述源表中的数据至所述目标数据库的 所述目标表中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴公司,未经阿里巴巴公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710088681.1/2.html,转载请声明来源钻瓜专利网。