1 .一种异构数据库的数据迁移方法,其特征在于,包括:
获取源库的源数据结构,对所述源数据结构进行结构转换和结构修改,得到目标数据
结构,将所述目标数据结构导入异构数据库中;
采集所述源库的源库数据,并根据所述目标数据结构将所述源库数据全量迁移到所述
异构数据库;
在所述源库数据全量迁移到所述异构数据库之后,获取所述源库在数据全量迁移前的
系统更改号和所述异构数据库的RowID信息集;
从所述系统更改号开始采集所述源库的归档日志,将所述归档日志迁移到所述异构数
据库。
2 .根据权利要求1所述的方法,其特征在于,对所述源数据结构进行结构转换和结构修
改,得到目标数据结构,包括:
对所述源数据结构进行兼容分析;
根据所述兼容分析的结果对所述数据结构进行结构转换,得到中间数据结构;
对所述中间数据结构的表数据增加隐藏列和索引符,得到目标数据结构。
3 .根据权利要求1所述的方法,其特征在于,采集所述源库的源库数据,并根据所述目
标数据结构将所述源库数据全量迁移到所述异构数据库,包括:
对所述源库数据进行不停机的全量数据采集,并记录各行数据的行标识符RowID;
根据所述目标数据结构对采集的全量数据进行数据转换,并将转换结果导入所述异构
数据库,其中,所述RowID信息插入所述异构数据库对应的隐藏列。
4 .根据权利要求1所述的方法,其特征在于,将所述归档日志迁移到所述异构数据库包
括:
将所述归档日志转化为带所述RowID信息的SQL语句;
在所述异构数据库并发执行所述SQL语句,以使所述源库与所述异构数据库的数据保
持一致,并对所述SQL语句按照冲突检测规则进行冲突处理。
5 .根据权利要求4所述的方法,其特征在于,对所述SQL语句按照冲突检测规则进行冲
突处理包括:
解析所述SQL语句的语句类型,其中,所述语句类型包括:update语句、delete语句、
insert语句;
若所述SQL语句为update语句,获取所述update语句的执行结果;若所述update语句执
行成功,但结果集为0,则将所述update语句转化为insert语句执行;若所述update语句执
行失败,且报主键或唯一索引冲突,则将所述update语句先转化为delete语句执行后再转
化为insert语句执行;
若所述SQL语句为insert语句,获取所述insert语句的执行结果;若所述insert语句执
行失败,且报主键或唯一索引冲突,则将所述insert语句先转化为delete语句执行后再转
化为insert语句执行;
若所述SQL语句为delete语句,获取所述delete语句的执行结果,若所述delete语句执
行成功,但返回值为0,则忽略所述delete语句的执行。
6 .根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述归档日志迁移到所述异构数据库时,实时监测所述归档日志的已迁移数据
权 利 要 求 书
1/2 页
2
文档被以下合辑收录
评论