OGG的Veridata组件使用

一、Veridata组件简介


1.1 Veridata引出

OracleGoldenGate产品体系如下:

软件名称

用途

GoldenGate

一般常用的安装包,针对不同平台不同类型数据库不同版本有不同的安装包。安装后可以配置参数,启Mgr、Extract、Replcat进程,实现数据链路的复制。

GoldenGate Veridata

数据同步比对工具,将一组数据与另一组数据进行比较,并标识不同步的数据,并允许您修复发现的所有不同步数据。


1.2 Veridata架构


OGG的Veridata组件使用

Veridata组件说明

组件名

组件说明

Veridata Server

协调veridata对比任务的执行、compare data、COOS、sort row、produce report


Veridata Web UI

配置对比对象和规则、initial compare、review status and oos data、repair oos data


Veridata Repository

不存储oos data,可以是oracle、mysql或sqlserver

Veridata Agent

和DB交互(hash row for initial compare、 Fetch and update rows to repair out-of-sync data、 Return column-level detail for out-of-sync rows )

VeridataCommand-line Utilities


reportutility(查询加密的oos数据和report)、vericom(手工发指令定义job去执行数据对比)、veridata_scripting(创建xml文件来配置veridata,代替使用webui)




二、Veridata安装


2.1 安装准备

  • 安装规划

1台服务上安装veridata的所有组件,veridata的agent可以不在源库或者目标库上,这里和Sever在一起部署。

  • 软件准备

软件项目

软件包

配置库

oracle11g数据库实例、字符集UTF8

JDK

jdk1.7

Fusion Middleware Infrastructure

fmw_12.1.3.0.0_infrastructure.jar

veridata server

fmw_12.1.3.0.0_ogg.jar

veridata jagent

fmw_12.1.3.0.0_ogg.jar


2.2 安装过程

主要安装步骤如下:

1)准备好oracle11g数据库实例veri

2)安装JDk1.7

3)安装FusionMiddleware Infrastructure 12c(12.1.3.0)

4)veridataserver安装

5)veridatajagent的安装


主要安装截图展示:

Veridata Server安装

OGG的Veridata组件使用

Veridata JAgent安装

OGG的Veridata组件使用


2.3 相关概念

按照ConnectionConfiguration  GroupConfiguration comparepair主线配置概念进行说明。

配置项

配置说明

连接配置Connection Configuration

配置agent 到需要对比的DB的连接。

组配置

Group Configuration

包含一个或多个compare pair的逻辑容器。

compare pair

表示一张源表与一张目标表之间的逻辑关系,包含了需要比较的一张源表与一张目标表,可以进一步指定列的映射关系以及行的子集。

profile配置

一组全局的参数设置。Veridata 提供了一个dfault profile,也可创建自己的profile,用户可以根据需要创建多个profile,并与任意的job或者compare pair(用于覆盖job的profile的参数设置)关联。

job配置

为了进行比较,必须运行一个作业。作业的配置中指定了需要处理的compare pair ,以及运行时的参数。

在创建作业之前,需要先创建至少一个compare group,如果需要定制运行时的参数设置,还需要创建至少一个profile,否则该作业会使用系统缺省的profile。)相关联。



三、Veridata使用



3.1 比对流程

  • Veridata数据比对流程

两阶段

1)初始对比(Initialcomparsion,或者称为行哈希对比阶段):

从源和目标查询行(如果格式不一致,会被自动转换成标准化的数据类型),

进行第一次对比(PK列的值比较值、非PK列计算hash后进行比较,可以降低网络上的传输成本(当然也可以对非PK列比较列值,性能会慢且网络开销大));第一次compare的不同步的记录,会存储在内存中的MOOSqueue中(maybe-out-of-sync);(因为某些行的数据可能正在被复制,因此可能只是暂时有不同)


2)确认阶段(也称为COOS(confirm-out-of-sync)阶段):这个阶段从MOSSqueue里取数据,对这些可能不同步(OOS)的数据进行再次对比。


第二阶段对比的结果可能有3种:

  • In-flight:确认阶段发现源和目标这些行还是不一样,而且和第一阶段的比较也不一样,说明第一阶段之后这些行又有新的变化了,veridata无法确认是否同步;

  • In-sync:确认已经同步;

  • persistentlyout-of-sync:确认不同步;

确认persistentlyout-of-sync的行保存在文件中(OOSfile, out-of-syncfile,可以是xml、bin等格式,非DB保存,该文件包含了需要选择这些数据进行重新同步的所有信息,包括了每张表的元数据信息。可以使用上一次的OOS文件作为下一次比较的输入信息)


3.2 Veridata数据一致性校验

第一步,启动veridata服务器

1)启动veridata的数据库和监听

2)启动weblogic中间件

3)启动veridata管理服务器

4)配置agent的jdbc连接,并启动代理agent服务进程

5)登陆veridata平台

地 址:http://XX.XX.XX.XX:8830/veridata


第二步,veridata的配置使用

1)确认需要比对的表

2) 配置过程

按照ConnectionConfiguration  Group Configuration compare pair主线配置。

第1步:连接配置

第2步:组配置

第3步:组参数配置comparepair添加

第4步:profile配置

第5步:job配置

第6步:运行比对作业job

第7步:查看报告

3) 对比结果处理

第1步:对比作业使用的配置文件核查

第2步:生成的比对报告结果及文件位置


第三步:比对结果确认与评估

OGG的Veridata组件使用


3.3 Veridata的数据一致性修复

比对完成后针对不一致的记录,可以选中,直接点击RunRepair执行repairpair对目标端不一致数据表进行修复。修复后再次比对表的数据一致性就发现已经一致了。

OGG的Veridata组件使用


OGG的Veridata组件使用


四、总结


在日常的数据库运维及数据迁移工作中,数据比对验证的方法有很多,除去手工比对方法之外,使用Veridata工具进行尝试也是一个不错的选择。

OracleGoldenGate Veridata作为一个独立的产品,是一种高性能的数据对比解决方案,对在两个数据库之间进行数据复制时可能存在的差异进行确认和报告。

GoldenGate Veridata在两端数据库保持在线的情况下进行数据对比。数据一致性在数据迁移和数据同步的场景下是最关键的重要环节,而Veridata就可以解决大部分我们对数据一致性的刚性需求。


  • 大部分Oracle DBA都会遇到场景:

场景

需求

Veridata的作用

OGG数据同步

在OGG的日常维护中,经常遇到因为源和目标的数据不一致而导致进程复制进程abend(或者异常discardfile或者入异常记录表),如果有工具能验证数据一致性并修正数据该多好啊?

Veridata可以在源库和目标库之间比对数据并修复不一致的数据。

数据库迁移

根据业务需要,需要将数据从A库迁移到B库,如何保证业务迁移前后,数据库A和数据库B的数据完全无误?

Veridata作为权威的第三方工具,可以出报表说明哪些表的数据是否一致

数据库升级

根据升级需要,业务系统需要升级,如何保证备份数据和升级数据一致性?

Veridata快速校验数据是否一致


  • Veridata技术特点

1)易于使用、高性能且侵入性极低的产品,可用户管理数据一致性。

2)比较包含大量数据的数据库

3)在线比较数据不断变化的数据库

4)消耗的资源低

5)配置使用灵活,功能强大

6)选择性、并行比较

7)异构性:可以支持不同数据库之间的compare

8)性能:大约十几M-几十M/秒;

9)对在线的支持:veridata可以脱离ogg运行环境


OGG的Veridata组件使用END


OGG的Veridata组件使用


上一篇:java代码练习 work119


下一篇:Java8的新特性--方法引用与构造器引用