[发明专利]一种基于日志的结构化数据同步方法有效
| 申请号: | 201310345269.9 | 申请日: | 2013-08-08 |
| 公开(公告)号: | CN103455557A | 公开(公告)日: | 2013-12-18 |
| 发明(设计)人: | 程永新;黎君原 | 申请(专利权)人: | 上海新炬网络技术有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 金碎平 |
| 地址: | 200063 上海市普*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 日志 结构 数据 同步 方法 | ||
技术领域
本发明涉及一种数据同步方法,尤其涉及一种基于日志的结构化数据同步方法。
背景技术
Oracle GoldenGate软件是一种基于log(日志)的结构化数据复制软件,它通过解析源数据库在线log或归档log获得数据的增、删、改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。Oracle GoldenGate软件可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒级的实时复制。
Oracle GoldenGate是一种基于软件的数据复制方式,它从数据库的log解析数据的变化,将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达9:1的压缩率对数据进行压缩,可以大大降低带宽需求。在目标端,Oracle GoldenGate可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的。从而可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。同时,Oracle GoldenGate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构。
Oracle GoldenGate技术解决了目前业界难以解决的在不同系统之间进行海量数据实时同步问题,并可以根据业务需求进行部分关键数据同步,操作灵活、方便,实现了对实时信息的实时访问,使得企业可以提高可用性、可靠性、和跨企业系统的关键数据性能。采用GoldenGate的数据复制技术,可以实现数据实时备份,确保核心数据的安全,同时避免引入过多种类的软硬件产品,降低了运营维护的复杂度和投入,有利于灾备系统的恢复和切换。该技术可以广泛用于对数据库系统实时性要求高,需要建立容灾系统的大中型企业。
随着近几年来业务系统的不断高速发展,当前的数据库系统,随着客户的增加,业务的增长以及时间的累积,系统单位时间在线交易数以及每笔交易的复杂度均有 大规模的提升,这样也导致了数据库系统上的数据变更更为频繁,数据变动量的增加,也必然导致生产系统向容灾系统同步数据以及切换容灾系统的压力变大。但是目前现有的技术都存在有比较明显的缺陷,容易由于源端数据异常,使其无法通过目标数据库的校验机制,触发数据库报错,从而导致GoldenGate同步异常,最终导致源库与目标库的数据不一致,使企业蒙受巨大的损失。
Oracle GoldenGate软件能支持Oracle Database之间数据的实时同步,然而对于源数据库中某些date类型数据本身就不符合Oracle Database的数据类型,如“0000-00-0000:00:00”、“2014-02-2900:00:00”、“2012-06-0125:00:00”等等,因Oracle Database的bug或者应用程序设计上的问题导致这种数据写进了源数据库。由于Oracle GoldenGate本质原理为解析redo信息并在目标数据库重构语句,处理相应记录,而期间目标数据库会对记录进行校验,上述提到的date类型数据就会触发数据库报错,如ORA-01843:not a valid month,进而导致进程ABENDED或记录丢失(具体结果因GoldenGate的REPERROR策略设置而异,但均会导致数据不一致)。
在实际生产环境中,可从源端着手解决,避免异常数据。然而应用程序的修改以及数据库补丁的升级是一项复杂的工程,工作量繁重,会中断业务系统的正常运行。在一些极端的环境下,还会出现客户拒绝修改应用或者数据库的情况。
针对这种问题,目前业内的基本解决方案主要有三种:1)重置为空值。2)重新初始化。C)忽略问题记录。
为了方便描述,下面将对部分名词作统一约定。
(1)重置为空值是Oracle官方提出的解决方法。
Oracle在官方SUPPORT网站上文章《Replication Fails WithError ORA-01843: not a valid month[ID1299383.1]》给出下述方案:判定记录是否为“0000-00-0000:00:00”,如果是的话,就将相应的记录设置为null值。
重置控制的处理步骤如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新炬网络技术有限公司,未经上海新炬网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310345269.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种再生铅冶炼用转炉的加热装置
- 下一篇:一种市政综合智能管沟系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





