CN107609188A - 基于GoldenGate的数据同步校验方法 - Google Patents

基于GoldenGate的数据同步校验方法 Download PDF

Info

Publication number
CN107609188A
CN107609188A CN201710930786.0A CN201710930786A CN107609188A CN 107609188 A CN107609188 A CN 107609188A CN 201710930786 A CN201710930786 A CN 201710930786A CN 107609188 A CN107609188 A CN 107609188A
Authority
CN
China
Prior art keywords
goldengate
data
record
increment
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710930786.0A
Other languages
English (en)
Other versions
CN107609188B (zh
Inventor
程永新
林小勇
黎君原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai New Torch Network Information Technology Ltd By Share Ltd
Original Assignee
Shanghai New Torch Network Information Technology Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai New Torch Network Information Technology Ltd By Share Ltd filed Critical Shanghai New Torch Network Information Technology Ltd By Share Ltd
Priority to CN201710930786.0A priority Critical patent/CN107609188B/zh
Publication of CN107609188A publication Critical patent/CN107609188A/zh
Application granted granted Critical
Publication of CN107609188B publication Critical patent/CN107609188B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于GoldenGate的数据同步校验方法,包括如下步骤:S1:在Oracle GoldenGate的源端,记录完整的前映像信息;S2:在目标端创建GoldenGate变更表,分别记录:表名、记录数增量、哈希值增量和源端提交数据的SCN值;S3:正式迁移前作一次全量的数据校验,并记录全量的数据校验对应的源端SCN,记录信息到GoldenGate全量哈希表中;S4:正式迁移期间,源端发起全量的数据校验,目标端记录基于GoldenGate全量哈希表、GoldenGate变更表以及当前的SCN值推算出当前的哈希值。本发明在确保数据校验准确的前提下,大大缩短迁移的目标环境操作的耗时。

Description

基于GoldenGate的数据同步校验方法
技术领域
本发明涉及一种数据同步校验方法,尤其涉及一种基于GoldenGate的数据同步校验方法。
背景技术
Oracle GoldenGate软件能支持Oracle Database之间数据的实时同步,然而在大型系统割接期间,往往为了保证数据的一致性,需要花费大量的时间实施数据一致性校验。
目前业界的通用的做法有以下几种:1、不校验;2、基于业务逻辑抽查数据;
3、仅核对记录数;4、基于Oracle GoldenGate Veridata实现全量数据校验;5、基于全表实现哈希值校验。
现有技术的缺点如下:
一、现有的技术方案1~3不严谨,无法完全保证数据的一致性;
二、现有的技术方案4~5耗时过长。无论是Oracle官方给出的Oracle GoldenGateVeridata工具,还是基于脚本实施的哈希值校验方法,校验时长均很长,对于目前数据了动辄TB级别的系统而言,往往需要一两个小时甚至更长的时间。更让人难以接受的是,数据校验的脚本需要在迁移前后的环境分别执行,此操作消耗资源过高,迁移的目标环境基本不能做其余的操作。
发明内容
本发明所要解决的技术问题是提供一种基于GoldenGate的数据同步校验方法,在确保数据校验准确的前提下,大大缩短迁移的目标环境操作的耗时。
本发明为解决上述技术问题而采用的技术方案是提供一种基于GoldenGate的数据同步校验方法,分别在源端和目标端部署GoldenGate软件,其中,包括如下步骤:S1:在Oracle GoldenGate的源端,记录完整的前映像信息;S2:在Oracle GoldenGate的目标端创建GoldenGate变更表,采用四个字段分别记录:表名、记录数增量、哈希值增量和源端提交数据的SCN值;S3:正式迁移前作一次全量的数据校验,并记录全量的数据校验对应的源端SCN,记录信息到GoldenGate全量哈希表中;S4:正式迁移期间,源端发起全量的数据校验,目标端记录基于GoldenGate全量哈希表、GoldenGate变更表以及当前的SCN值推算出当前的哈希值。
上述的基于GoldenGate的数据同步校验方法,其中,所述步骤S1包括:配置GoldenGate中记录数据删除前的值的参数NOCOMPRESSDELETES以及NOCOMPRESSUPDATES,并采用数据库日志信息完整记录同步范围内的表的所有操作记录。
上述的基于GoldenGate的数据同步校验方法,其中,所述步骤S2中目标端复制进程增量MAP策略,基于每条DML操作进行如下处理:a.针对insert记录,记录数增量为1,哈希增量为此记录拼凑结果的哈希值;b.针对update记录的前映像,记录数增量为0,哈希值增量为此记录拼凑结果的哈希值乘以-1;c.针对update记录的后映像,记录数增量为0,哈希值增量为此记录拼凑结果的哈希值乘以1;d.针对delete记录的后映像,记录数增量为-1,哈希值增量为此记录拼凑结果的哈希值乘以1。
上述的基于GoldenGate的数据同步校验方法,其中,所述源端和目标端部署GoldenGate软件包括如下步骤:向ogguser用户授权允许连接访问数据库,开启数据库最小附加日志,并创建管理进程mgr,该进程用于管理后续创建的抽取、投递和复制进程;配置抽取进程、投递进程以及复制进程。
本发明对比现有技术有如下的有益效果:本发明提供的基于GoldenGate的数据同步校验方法,通过在源端记录完整的前映像信息,同步时在目标端仅需记录基于GoldenGate全量哈希表、GoldenGate变更表以及当前的SCN值推算出当前的哈希值,即可确保数据校验准确,从而大大缩短迁移的目标环境操作的耗时。
附图说明
图1为本发明基于GoldenGate的数据同步校验流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明基于GoldenGate的数据同步校验流程示意图。
请参见图1,本发明提供的基于GoldenGate的数据同步校验方法,分别在源端和目标端部署GoldenGate软件,具体部署步骤如下:向ogguser用户授权允许连接访问数据库,开启数据库最小附加日志,并创建管理进程mgr,该进程用于管理后续创建的抽取、投递和复制进程;配置抽取进程、投递进程以及复制进程。所述数据同步校验方法包括如下步骤:
S1、针对Oracle GoldenGate的源端,作下面的特殊配置,以记录完整的前映像信息:
A)本发明可以用ogg来实现交易事物跟踪,比如记录数据删除前的值,配置GoldenGate参数NOCOMPRESSDELETES以及NOCOMPRESSUPDATES参数
COMPRESSDELETES参数是默认值,只记录删除有主键的值
NOCOMPRESSDELETES参数可以记录所有列删除值
B)对同步范围内的表执行下述操作记录完整的数据库日志信息
ALTER TABLE XXXX ADD SUPPLEMENTAL LOG DATA(ALL)COLUMNS。
S2、针对Oracle GoldenGate的目标端,作下面的特殊配置
A)创建特殊表“GoldenGate变更表”,以四个字段,分别记录:表名、记录数增量、哈希值增量、源端commit的SCN(System Change Number简称SCN)值
B)目标端复制进程增量MAP策略,实现源端对象和目标端对象的匹配关系,基于每条数据操纵语言DML操作,作下述特殊处理:
a.针对insert记录,记录数增量为1,哈希增量为此记录拼凑结果的哈希值;
b.针对update记录的前映像,记录数增量为0,哈希值增量为此记录拼凑结果的哈希值乘以-1;
c.针对update记录的后映像,记录数增量为0,哈希值增量为此记录拼凑结果的哈希值乘以1;
d.针对delete记录的后映像,记录数增量为-1,哈希值增量为此记录拼凑结果的哈希值乘以1。
S3、正式迁移前,作一次全量的数据校验,并记录全量的数据校验对应的源端SCN,记录信息到特殊表“GoldenGate全量哈希表”。
S4、正式迁移期间,作下述操作
A)源端发起全量的数据校验
B)目标端记录基于“GoldenGate全量哈希表”、“GoldenGate变更表”、以及当前的SCN值推算出当前的哈希值
C)完成步骤B,目标端环境即释放,等到步骤A完毕后补报告即可。针对迁移项目而言,数据同步只是其中一个环节,后续还涉及应用的测试、数据库检查等环节。由于数据校验十分耗资源,因此常规做法是先把环境交给GoldenGate运维人员做数据校验,等这部分操作跑完后释放目标端环境,才做后续测试等,避免资源争用。完毕后补报告则用于验证迁移前后的数据一致性,针对使用GoldenGate这种逻辑同步工具的迁移场景,校验报告可以进行事后比对,自证其清,撇清丢失数据的嫌疑。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

Claims (4)

1.一种基于GoldenGate的数据同步校验方法,分别在源端和目标端部署GoldenGate软件,其特征在于,包括如下步骤:
S1:在Oracle GoldenGate的源端,记录完整的前映像信息;
S2:在Oracle GoldenGate的目标端创建GoldenGate变更表,采用四个字段分别记录:表名、记录数增量、哈希值增量和源端提交数据的SCN值;
S3:正式迁移前作一次全量的数据校验,并记录全量的数据校验对应的源端SCN,记录信息到GoldenGate全量哈希表中;
S4:正式迁移期间,源端发起全量的数据校验,目标端记录基于GoldenGate全量哈希表、GoldenGate变更表以及当前的SCN值推算出当前的哈希值。
2.如权利要求1所述的基于GoldenGate的数据同步校验方法,其特征在于,所述步骤S1包括:配置GoldenGate中记录数据删除前的值的参数NOCOMPRESSDELETES以及NOCOMPRESSUPDATES,并采用数据库日志信息完整记录同步范围内的表的所有操作记录。
3.如权利要求1所述的基于GoldenGate的数据同步校验方法,其特征在于,所述步骤S2中目标端复制进程增量MAP策略,基于每条DML操作进行如下处理:
a.针对insert记录,记录数增量为1,哈希增量为此记录拼凑结果的哈希值;
b.针对update记录的前映像,记录数增量为0,哈希值增量为此记录拼凑结果的哈希值乘以-1;
c.针对update记录的后映像,记录数增量为0,哈希值增量为此记录拼凑结果的哈希值乘以1;
d.针对delete记录的后映像,记录数增量为-1,哈希值增量为此记录拼凑结果的哈希值乘以1。
4.如权利要求1所述的基于GoldenGate的数据同步校验方法,其特征在于,所述源端和目标端部署GoldenGate软件包括如下步骤:
向ogguser用户授权允许连接访问数据库,开启数据库最小附加日志,并创建管理进程mgr,该进程用于管理后续创建的抽取、投递和复制进程;
配置抽取进程、投递进程以及复制进程。
CN201710930786.0A 2017-10-09 2017-10-09 基于GoldenGate的数据同步校验方法 Active CN107609188B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710930786.0A CN107609188B (zh) 2017-10-09 2017-10-09 基于GoldenGate的数据同步校验方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710930786.0A CN107609188B (zh) 2017-10-09 2017-10-09 基于GoldenGate的数据同步校验方法

Publications (2)

Publication Number Publication Date
CN107609188A true CN107609188A (zh) 2018-01-19
CN107609188B CN107609188B (zh) 2020-08-11

Family

ID=61068428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710930786.0A Active CN107609188B (zh) 2017-10-09 2017-10-09 基于GoldenGate的数据同步校验方法

Country Status (1)

Country Link
CN (1) CN107609188B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108898485A (zh) * 2018-06-07 2018-11-27 阿里巴巴集团控股有限公司 一种数据校验的方法及装置
CN109376026A (zh) * 2018-09-14 2019-02-22 上海新炬网络信息技术股份有限公司 一种基于脚本的数据同步校验实现方法
CN109408480A (zh) * 2018-09-29 2019-03-01 武汉达梦数据库有限公司 基于oracle多节点rac日志基于scn对齐读取的方法及系统
CN109582736A (zh) * 2018-11-22 2019-04-05 平安科技(深圳)有限公司 贷款业务名单表的同步方法、装置和计算机设备
CN110162461A (zh) * 2019-04-16 2019-08-23 平安科技(深圳)有限公司 数据同步验证方法、装置和计算机设备
WO2019178979A1 (zh) * 2018-03-21 2019-09-26 平安科技(深圳)有限公司 报表数据查询方法、装置、存储介质和服务器
CN110784352A (zh) * 2019-10-30 2020-02-11 国网山东省电力公司信息通信公司 一种基于Oracle Goldengate的数据同步监控告警方法及装置
CN112328546A (zh) * 2020-11-06 2021-02-05 安徽明生恒卓科技有限公司 一种基于数据中台的增量数据核查方法
CN112612852A (zh) * 2020-12-29 2021-04-06 中国农业银行股份有限公司 数据同步方法及装置、电子设备、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346454A (zh) * 2014-10-30 2015-02-11 上海新炬网络技术有限公司 基于Oracle数据库的数据一致性校验方法
US20170091807A1 (en) * 2015-09-30 2017-03-30 Linkedin Corporation Tracking interaction with sponsored and unsponsored content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346454A (zh) * 2014-10-30 2015-02-11 上海新炬网络技术有限公司 基于Oracle数据库的数据一致性校验方法
US20170091807A1 (en) * 2015-09-30 2017-03-30 Linkedin Corporation Tracking interaction with sponsored and unsponsored content

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黎君原: "妙用GoldenGate解决关键问题V3.0", 《DTCC新炬技术巡讲 福州站》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019178979A1 (zh) * 2018-03-21 2019-09-26 平安科技(深圳)有限公司 报表数据查询方法、装置、存储介质和服务器
CN108898485A (zh) * 2018-06-07 2018-11-27 阿里巴巴集团控股有限公司 一种数据校验的方法及装置
CN109376026A (zh) * 2018-09-14 2019-02-22 上海新炬网络信息技术股份有限公司 一种基于脚本的数据同步校验实现方法
CN109408480A (zh) * 2018-09-29 2019-03-01 武汉达梦数据库有限公司 基于oracle多节点rac日志基于scn对齐读取的方法及系统
CN109582736A (zh) * 2018-11-22 2019-04-05 平安科技(深圳)有限公司 贷款业务名单表的同步方法、装置和计算机设备
CN110162461A (zh) * 2019-04-16 2019-08-23 平安科技(深圳)有限公司 数据同步验证方法、装置和计算机设备
CN110162461B (zh) * 2019-04-16 2023-08-15 平安科技(深圳)有限公司 数据同步验证方法、装置和计算机设备
CN110784352A (zh) * 2019-10-30 2020-02-11 国网山东省电力公司信息通信公司 一种基于Oracle Goldengate的数据同步监控告警方法及装置
CN110784352B (zh) * 2019-10-30 2022-04-01 国网山东省电力公司信息通信公司 一种基于Oracle Goldengate的数据同步监控告警方法及装置
CN112328546A (zh) * 2020-11-06 2021-02-05 安徽明生恒卓科技有限公司 一种基于数据中台的增量数据核查方法
CN112612852A (zh) * 2020-12-29 2021-04-06 中国农业银行股份有限公司 数据同步方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN107609188B (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN107609188A (zh) 基于GoldenGate的数据同步校验方法
CN109460349B (zh) 一种基于日志的测试用例生成方法和装置
CN106815326B (zh) 一种检测无主键数据表一致性的系统及方法
CN104346454B (zh) 基于Oracle数据库的数据一致性校验方法
CN103970833B (zh) 一种基于日志的异构数据库同步系统中双向同步数据循环的解决方法
US8799235B2 (en) Data de-duplication system
US10509639B2 (en) Automatic software-update framework
CN109614315B (zh) 一种数据同步测试用例的自动生成方法及系统
CN105653579B (zh) 一种对分布式事务进行测试的方法和装置
CN110134694A (zh) 一种双活数据库中表数据的快速比对装置及方法
CN106503158A (zh) 数据同步方法及装置
CN114357088A (zh) 核电工业数据仓库系统
CN102467525A (zh) 单据关联方法及系统
WO2012130489A1 (en) Method, system, and computer program product for maintaining data consistency between two databases
CN104021219A (zh) 一种数据模板的生成方法及装置
CN105446824B (zh) 表增量获取方法及异地数据备份方法
CN107491558A (zh) 元数据更新方法及装置
CN114564500A (zh) 在区块链系统中实现结构化数据存储和查询的方法和系统
CN107247614A (zh) 在软件编译时检查应用信息的方法
CN103647650B (zh) 基于规则定义的自动签名/验签装置和自动签名/验签方法
CN113111125A (zh) 一种基于区块链的业务存证方法
CN111639478B (zh) 一种基于excel文档的数据自动稽核方法及系统
CN104881455B (zh) 一种基于mysql的结构差异处理方法及系统
CN103577746A (zh) 一种基于xml配置的信息系统间授权差异检测方法
CN103761188A (zh) 一种电子文件管理系统的自动化测试方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant