一种基于SCN方式的Oracle数据库同步系统及方法技术方案

技术编号:21971390 阅读:52 留言:0更新日期:2019-08-28 01:27
本发明专利技术特别涉及一种基于SCN方式的Oracle数据库同步系统及方法。该基于SCN方式的Oracle数据库同步系统,包括抽取模块,转换模块和入库模块,所述抽取模块设置于采集前置机中,用于抽取源Oracle数据库的原始数据;所述转换模块和入库模块设置于同步服务器中,转换模块用于将收到的原始数据转换成标准格式,所述入库模块用于将标准格式数据写入目标Oracle数据库。该基于SCN方式的Oracle数据库同步系统及方法,不仅可以实现表结构的数据同步,还支持在目的端自动建表,支持全量数据同步,支持实时的增量数据同步,同时借助于CMSP分布式消息服务进行消息的高效传输,大大的提高了数据的传输效率,在对数据同步要求较高的业务场景里面有广泛的应用前景。

An Oracle Database Synchronization System and Method Based on SCN

【技术实现步骤摘要】
一种基于SCN方式的Oracle数据库同步系统及方法
本专利技术涉及数据库数据同步与备份
,特别涉及一种基于SCN方式的Oracle数据库同步系统及方法。
技术介绍
随着信息时代的飞速发展,大数据、人工智能的兴起,数据作为一种资源,越来越被一些企业、单位重视,数据产出的经济和社会价值也越来越明显。当今社会,企业数据越来越庞大、复杂,呈现数据量巨大、数据种类繁多包括结构化数据和非结构化数据、数据存放单一等特点,这势必给数据带来安全和不可靠的隐患,因此数据的同步和备份显得越来越重要。现在常用的Oracle增量数据同步方法有以下几种:一、触发器方式触发器方式是较为普遍存在的一种同步方式,该方式根据抽取的要求在源表建立插入、更新、删除三种触发器,每当源表发生变化时,就会由相应的触发器将变化数据写入到增量日志表。然而,本方式对更新、删除操作时,需要支持原表中存在主键字段,否则无法实现对应记录的更新、删除操作;而且需要业务表建立触发器,对业务存在一定的影响。二、时间戳方式时间戳方式是指增量抽取时,抽取进程通过比较系统时间与抽取源表的时间戳字段的值来决定抽取哪些数据。这种方式需要在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值。有的数据库(例如SqlServer)的时间戳支持自动更新,即表的其它字段的数据发生改变时,时间戳字段的值会被自动更新为记录改变的时刻。在这种情下,进行ETL实施时就只需要在源表加上时间戳字段就可以了。对于不支持时间戳自动更新的数据库,这就要求业务系统在更新业务数据时,通过编程的方式手工更新时间戳字段。使用时间戳方式可以正常捕获源表的插入和更新操作,但由于业务表需要存在标识新旧数据的时间戳字段,该方式对于删除操作则无能为力,需要结合其它机制才能完成。三、全表删除插入方式全表删除插入方式是指每次抽取前先删除目标表数据,抽取时全新加载数据。该方式实际上将增量抽取等同于全量抽取。对于数据量不大,全量抽取的时间代价小于执行增量抽取的算法和条件代价时,可以采用该方式。但是,该方式高网络负载、性能代价高、无法反映数据的历史状态,因而难以成为主流方式。基于上述情况,本专利技术提出了一种基于SCN方式的Oracle数据库同步系统及方法。
技术实现思路
本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的基于SCN方式的Oracle数据库同步系统及方法。本专利技术是通过如下技术方案实现的:一种基于SCN方式的Oracle数据库同步系统及方法,其特征在于,包括抽取模块,转换模块和入库模块,所述抽取模块设置于采集前置机中,用于抽取源Oracle数据库的原始数据;所述转换模块和入库模块设置于同步服务器中,转换模块用于将收到的原始数据转换成标准格式,所述入库模块用于将标准格式数据写入目标Oracle数据库。所述采集前置机和同步服务器中还设有CMSP分布式消息服务模块,所述抽取模块,转换模块和入库模块均连接到CMSP分布式消息服务模块;所述CMSP分布式消息服务模块用于传输同步数据。本专利技术基于SCN方式的Oracle数据库同步系统的同步方法,基于CMSP分布式消息服务和SCN值,实现Oracle数据库中表结构数据,全量数据以及增量数据的快速采集同步与备份。本专利技术基于SCN方式的Oracle数据库同步系统的同步方法,根据SCN值的变化从源Oracle数据库中提取数据库表的增量变化数据,进而实现Oracle数据库的增量数据提取以及同步。当基于SCN方式做增量抽取时记录一个起始SCN值,当查询增量结束时记录一个结束SCN值;当下次查询增量时,用上一次结束SCN值做为起始SCN值继续进行查找增量数据,从而保证增量数据的持续同步。本专利技术基于SCN方式的Oracle数据库同步系统的同步方法,包括以下步骤:(1)抽取模块抽取源Oracle数据库的原始数据;(2)CMSP分布式消息服务模块将抽取的原始数据实时加密后压缩发送到同步服务器;(3)转换模块读取同步服务器中CMSP分布式消息服务模块接收到的原始数据,并将原始数据转换成标准格式后返回CMSP分布式消息服务模块;(4)入库模块将CMSP分布式消息服务模块中的标准格式数据写入目标Oracle数据库。所述步骤(1)中,抽取原始数据之前,首先依次安装和配置抽取模块,转换模块,入库模块和CMSP分布式消息服务模块;配置完成后启动CMSP分布式消息服务模块,并创建Topic信息;最后依次启动入库模块,转换模块和抽取模块。配置信息包括抽取模块配置文件,需要采集的源Oracle数据库信息,需要采集的采集的源Oracle数据库表信息和发送的CMSP信息。本专利技术的有益效果是:该基于SCN方式的Oracle数据库同步系统及方法,不仅可以实现表结构的数据同步,还支持在目的端自动建表,支持全量数据同步,支持实时的增量数据同步,同时借助于CMSP分布式消息服务进行消息的高效传输,大大的提高了数据的传输效率,在对数据同步要求较高的业务场景里面有广泛的应用前景。附图说明附图1为本专利技术基于SCN方式的Oracle数据库同步系统及方法示意图。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本专利技术进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。该基于SCN方式的Oracle数据库同步系统,包括抽取模块,转换模块和入库模块,所述抽取模块设置于采集前置机中,用于抽取源Oracle数据库的原始数据;所述转换模块和入库模块设置于同步服务器中,转换模块用于将收到的原始数据转换成标准格式,所述入库模块用于将标准格式数据写入目标Oracle数据库。所述采集前置机和同步服务器中还设有CMSP分布式消息服务模块,所述抽取模块,转换模块和入库模块均连接到CMSP分布式消息服务模块;所述CMSP分布式消息服务模块用于传输同步数据。CMSP(CloudMessageServicePlatform,云消息服务平台)是云和大数据时代的一种高性能消息中间件,以云服务和集群方式对外提供高性能和高可靠的消息队列服务,支撑大数据采集、传输、汇聚、交换,大数据实时处理和微服务处理架构。CMSP分布式消息服务模块是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息服务系统。它的目标是高可靠地在一个云消息服务引擎上可以支持成千上万的应用不间断并发访问,在廉价PC服务器集群上支持每秒上亿条的消息存取服务,支持随业务量需要动态增加或减少计算资源节点,同时要确保基于云消息服务平台的应用开发和管理简单易使用。该基于SCN方式的Oracle数据库同步系统的同步方法,基于CMSP分布式消息服务和SCN值,实现Oracle数据库中表结构数据,全量数据以及增量数据的快速采集同步与备份。该基于SCN方式的Oracle数据库同步系统的同步方法,根据SCN值的变化从源Oracle数据库中提取数据库表的增量变化数据,进而实现Oracle数据库的增量数据提取以及同步。当基于SCN方式做增量抽取时记录一个起始SCN值,当查询增量结束时记录一个结束SCN值;当下次查询增量时,用上一次结束SCN值做为起始SCN值继续进行查找增量数据,从而保证增量数据的持续同步。SCN(S本文档来自技高网
...

【技术保护点】
1.一种基于SCN方式的Oracle数据库同步系统及方法,其特征在于:包括抽取模块,转换模块和入库模块,所述抽取模块设置于采集前置机中,用于抽取源Oracle数据库的原始数据;所述转换模块和入库模块设置于同步服务器中,转换模块用于将收到的原始数据转换成标准格式,所述入库模块用于将标准格式数据写入目标Oracle数据库。

【技术特征摘要】
1.一种基于SCN方式的Oracle数据库同步系统及方法,其特征在于:包括抽取模块,转换模块和入库模块,所述抽取模块设置于采集前置机中,用于抽取源Oracle数据库的原始数据;所述转换模块和入库模块设置于同步服务器中,转换模块用于将收到的原始数据转换成标准格式,所述入库模块用于将标准格式数据写入目标Oracle数据库。2.根据权利要求1所述的基于SCN方式的Oracle数据库同步系统及方法,其特征在于:所述采集前置机和同步服务器中还设有CMSP分布式消息服务模块,所述抽取模块,转换模块和入库模块均连接到CMSP分布式消息服务模块;所述CMSP分布式消息服务模块用于传输同步数据。3.根据权利要求1和2所述的基于SCN方式的Oracle数据库同步系统的同步方法,其特征在于:基于CMSP分布式消息服务和SCN值,实现Oracle数据库中表结构数据,全量数据以及增量数据的快速采集同步与备份。4.根据权利要求3所述的基于SCN方式的Oracle数据库同步系统的同步方法,其特征在于:根据SCN值的变化从源Oracle数据库中提取数据库表的增量变化数据,进而实现Oracle数据库的增量数据提取以及同步。5.根据权利要求4所述的基于SCN方式的Oracle数据库同步系统的同步方法,其特征在于:当基于SCN方式做增量抽取时记录一个起始...

【专利技术属性】
技术研发人员:曹景亮李朝铭
申请(专利权)人:浪潮软件集团有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1