Oracle GoldenGate Veridata是GoldenGate中用于比较数据库间数据同步效果的一个对比软件。Veridata基于Web,支持大据量的数据对比,能够在不停止数据同步的情况下就可以比较数据。本文内容基于Oracle Linux 7.4环境下的Oracle GoldenGate Veridata 12.2.1版本,Oracle数据库版本为11.2.0.4,主要描述了Oracle GoldenGate Veridate的安装、配置、使用。

总体框架图:

Veridata安装配置

文档整体结构 

Veridata安装配置

 安装JDK

目标端:
首先查询系统自带的jdk:
[[email protected] ~]# rpm -qa | grep java
然后移除系统自带的jdk
[[email protected] ~]# yum remove java-1.*

[[email protected] java]# tar -zxvf /home/oracle/soft/jdk-8u191-linux-x64.tar.gz
[[email protected] java]# chmod +x /usr/java/jdk1.8.0_191/bin/*
[[email protected] ~]$ vim ~/.bash_profile
[[email protected] ~]$ source ~/.bash_profile

[[email protected] ~]$ java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

安装ADR

如架构图所示,需要一台veridata server machine,但由于环境所限,本文中是在ogg目标端机器上安装Fusion Middleware Infrastructure和Veridata Server。实际生产环境中建议使用一台独立服务器安装Fusion Middleware Infrastructure和Veridata Server,在ogg源端和目标端上安装agent。

[[email protected] ~]$ cd soft/
[[email protected] soft]$ fmw_12.2.1.2.0_infrastructure_Disk1_1of1.zip
[[email protected] soft]$ java -jar fmw_12.2.1.2.0_infrastructure.jar 

 

Veridata安装配置

Veridata安装配置

Veridata安装配置

 

Veridata安装配置

Veridata安装配置

 

Veridata安装配置

 

Veridata安装配置

Veridata安装配置

 

Veridata安装配置

点击”完成”。好了,顺利完成了Fusion Middleware Infrastructure的安装。 

安装Veridata 

[[email protected] soft]$ unzip fmw_12.2.1.2.0_ogg_Disk1_1of1.zip
[[email protected] soft]$ java -jar fmw_12.2.1.2.0_ogg.jar

Veridata安装配置

 

Veridata安装配置

 

Veridata安装配置

Oracle主目录与前面安装Fusion Middleware Infrastructure时一样,点击”下一步”

Veridata安装配置

Veridata安装配置

 

Veridata安装配置

 

Veridata安装配置

 

Veridata安装配置

点击”完成”,退出OUI界面。

在源端上安装Oracle GoldenGate Veridata Agent,安装方法一样,只是在第4步(如下图所示)选择安装Oracle GoldenGate Veridata Agent。

Veridata安装配置

在ogg源端和目标端上安装好Oracle GoldenGate Veridata Agent后,要对Agent进行一些必要的配置:

用oracle用户登录

[[email protected] ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata/agent/
[[email protected] agent]$ ./agent_config.sh /home/oracle/Oracle/Middleware/veridata_1 true

Veridata安装配置

 配置agent的参数

[[email protected] ~]$ cd Oracle/Middleware/veridata_1/
[[email protected] veridata_1]$ cp agent.properties.sample agent.properties
[[email protected] veridata_1]$ vim agent.properties
server.port=7850

配置agent连接database的信息,请根据实际填写

database.url=jdbc:oracle:thin:@ip:1521:target

(注:端口号后面一定要是英文冒号不然后面的数据库连接不上)

server.driversLocation=/home/oracle/app/oracle/product/12.2.0.1/dbhome_1/jdbc/lib
server.jdbcDriver=ojdbc8.jar

启动agent

[[email protected] veridata_1]$ ./agent.sh start

通过./agent.sh reloadLog查看agent是否正常

源端同样操作。

 创建RCU

[[email protected] ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/oracle_common/bin
[[email protected] bin]$ ./rcu

Veridata安装配置

Veridata安装配置

Veridata安装配置

 

Veridata安装配置

Veridata安装配置

Veridata安装配置

Veridata安装配置

 

Veridata安装配置

上图显示了即将创建的表空间,如果要修改点击”管理表空间”,不修改则点击”下一步”

开始创建所需表空间,创建完成后点击”确定”

Veridata安装配置

Veridata安装配置

点击”创建”

Veridata安装配置

稍等一会,就创建完成了,点击”关闭”。

配置WebLogic Domain

[[email protected] ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/wlserver/common/bin/
[[email protected] bin]$ ./config.sh

Veridata安装配置

点击创建新域,指定域位置,点击”下一步”

Veridata安装配置

Veridata安装配置

Veridata安装配置

Veridata安装配置

根据实际填写前面创建的veridata数据库的信息,点击”获取RCU配置”,点击”下一步”

Veridata安装配置

Veridata安装配置

点击”测试所选连接”,测试成功后点击”下一步”

Veridata安装配置

Veridata安装配置

Veridata安装配置

Veridata安装配置

本文没有使用集群,故点击”下一步”

Veridata安装配置

Veridata安装配置

Veridata安装配置

Veridata安装配置

Veridata安装配置

Veridata安装配置

点击创建。

Veridata安装配置

Veridata安装配置

 

记下以上的信息,点击”完成”。

检查配置并启动WebLogic

Veradata Server的配置文件放在:
/u01/ap/Middleware/Oracle_Home/veridata_domain/config/veridata/veridata.cfg

本文中不做修改

启动weblogic admin server
先启动weblogic admin server,用oracle用户登录

[[email protected] ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata_domain
[[email protected] veridata_domain]$ ./startWebLogic.sh

Veridata安装配置

输入· username password

Veridata安装配置

 

注:这个是在前台运行,如果想在让它在后台运行,需要修改一下参数

[[email protected] ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata_domain/bin
[[email protected] bin]$ vim startWebLogic.sh

Veridata安装配置

[[email protected] ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata_domain
[[email protected] veridata_domain]$ ./startWebLogic.sh &

启动veridata managed server

启动之前先要调整一下参数,用oracle用户登录

[email protected] ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata_domain/bin
[[email protected] bin]$ vim setStartupEnv.sh


找到# Startup parameters for STARTUP_GROUP VERIDATA-MANAGED-SERVERS这段
修改这段内容之下的
JAVA_OPTIONS=”{JAVA_OPTIONS} –Djava.protocol.handler.pkgs=oracle.mds.net.protocol”
改为
JAVA_OPTIONS=”{JAVA_OPTIONS} –Djava.protocol.handler.pkgs=oracle.mds.net.protocol -Djava.awt.headless=true”

Veridata安装配置

SERVER_MEM_ARGS_64HotSpot=”-Xms256m –Xmx1024m”

改为

SERVER_MEM_ARGS_64HotSpot=”-Xms1024m –Xmx2048m”

SERVER_MEM_ARGS_64HotSpot=”-Xms256m –Xmx1024m”
改为
SERVER_MEM_ARGS_64HotSpot=”-Xms1024m –Xmx2048m”

Veridata安装配置

 

[[email protected] bin]$ vim startManagedWebLogic.sh

 

找到WLS_USER=””和WLS_PW=”” 填上用户名和密码

Veridata安装配置

最后启动veridataserver

[[email protected] ~]$cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata_domain/veridata/bin

[[email protected] bin]$ ./veridataServer.sh start &

创建Veridata Server WebUI的登录用户

用浏览器打开以下链接,登录weblogic console:

http://ip:7001/console

Veridata安装配置

登录后点”安全领域”,再点右边的”myrealm”,如下图:

Veridata安装配置

点击”用户和组”,再点”新建”,如下图:

Veridata安装配置

新建一个用户veridataadmin,密码自行指定,点击”确定”。如下图:

Veridata安装配置

配置veridataAdmin组,点击”veridataAdmin”,如下图:

Veridata安装配置

点击”组”,全部选中,点击”保存”。

Veridata安装配置

使用Oracle GoldenGate Veridata WebUI

在使用Veridata WebUI之前我们先要在源端和目标端数据上做一些配置:
在源库创建一个表空间goldengate和用户goldengate,如果已存在可用其他名称
create tablespace goldengate datafile size 500m autoextend on;
create user goldengate identified by hubu88661126 default tablespace goldengate account unlock;

授予相关权限
grant connect,resource to goldengate;
grant select any table to goldengate;

在目标库同样创建表空间goldengate和用户goldengate,如果已存在可用其他名称
create tablespace goldengate datafile size 500m autoextend on;
create user goldengate identified by hubu88661126 default tablespace goldengate account unlock;

授予相关权限
grant connect,resource to goldengate;
grant select any table to goldengate;
grant update any table to goldengate;
grant insert any table to goldengate;
grant delete any table to goldengate;
grant alter any table to goldengate;

 Veridata Web UI的登录

使用刚创建的用户名密码

登录GoldenGate Veridata Web UI

http://ip:8830/veridata

Veridata安装配置

配置Connection

首先进入连接配置

Veridata安装配置

点击新建

Veridata安装配置

填写连接源端的名称和描述,点击Next

Veridata安装配置

填写连接GoldenGate Veridata Agent的信息,点击Verify,再点击Next

Veridata安装配置

填写连接源端数据库的用户名和密码,点击Test Connection,点击Finish

Veridata安装配置

同样的方法建立目标端的连接

Veridata安装配置

Veridata安装配置

Veridata安装配置

配置Group

连接配置好后,接着来配置group,点击左侧的Group Configuration,再点击右侧的New

Veridata安装配置

指定一个Group的名称

Veridata安装配置

指定源端和目标端的连接信息,如下图,点击Finish

Veridata安装配置

点击确定

Veridata安装配置

接着,点击Edit来创建Compare Pair

Veridata安装配置

点击Go to Compare Pair Configuration

Veridata安装配置

点击Pattern Mapping

Veridata安装配置

选择源库和目标库要比较的Schema,本文以scott为例,选好后点击Generate Mappings

Veridata安装配置

将scott的Schema里要对比的内容打上勾,点击Save(注意:视图不要打勾)

Veridata安装配置

将Select All Pages打上勾,点击Validate Column Mapping

Veridata安装配置

如下图,有出现一个感叹号的图标,说明这个对象不能自动Mapping(原因是没有组件),下面介绍自定义Mapping的方法,在有感叹号的这行上点击Edit链接

Veridata安装配置

点击Column Mapping

Veridata安装配置

在Key Mapping Method和Comparison Column Mapping Method处都选择User Defined,选择其中一个字段为Key,本文中选的是第一个字段,然后点击Validate,点击Save。

Veridata安装配置

出现如下图的打勾图标,自定义Mapping配置成功,然后点击Compare Pair Configuration的链接

Veridata安装配置

再次点击Validate Column Mapping可以看到原先感叹号的地方变成打勾了,其他有感叹号的地方依此操作。

Veridata安装配置

至此Group Configuration就配置完成了,如需增加其他Schema的对比,依此添加。

配置Job

创建Job,点击左侧的Job Configuration,点击右侧的New

Veridata安装配置

填写Job的名称和描述点击Next

Veridata安装配置

勾选Job所关联的Groups,点击Next

Veridata安装配置

选择源端和目标端的连接,点击Next

Veridata安装配置

选择Profile,这里使用默认的Profile,点击Finish,点击OK

Veridata安装配置

执行Job,修复不同步的数据

配置好Job后,可以执行Job来比较源端和目标端的数据是否存在差异,点击Run

Veridata安装配置

点击Run Job

Veridata安装配置

Veridata安装配置

过一会儿,在左侧的Finished Jobs里点击View By Job,查看对比结果,从下图可以看到。

Veridata安装配置

此时发现,比较的四张表中有一个存在数据不一致的情况,下面进行验证和修复。

点击下方表格中的报告

Veridata安装配置

查看报告信息,最后发现emp表的数据不一致

Veridata安装配置

Veridata安装配置

去库中查看数据验证

Veridata安装配置

库中存在两处数据不一致情况,下面进行修复

点击不同处

Veridata安装配置

输入用户名密码,运行修复

Veridata安装配置

一段时间之后,修复完成。

Veridata安装配置

去库中查看

此时目标端与源端不一致的数据已经修复。

Veridata安装配置

作业已是修复状态

Veridata安装配置

再次运行作业比较

Veridata安装配置

数据一致。

 

Profile设置

有的时候,默认的Profile并不适用,可以对默认的Profile进行修改或者新建Profile

点击左侧的Profile Configuration,点击右侧的Edit,来修改默认的Profile

Veridata安装配置

Sorting Method中“不同步输出格式“建议使用Server以减轻对生产库的负载,“每个不同步 XML 块的最大大小 (行)“根据要比较的内容的多少以及机器的内存大小进行合理设置。

Veridata安装配置

验证表结构不同是否可以修复

在源端DEPT表中新加一列并输入内容

Veridata安装配置

 

运行之前的JOB发现无法识别

Veridata安装配置

新建组,新建job后同样无法验证新列,修改原列数据后同样只是修复对应列的数据,修改原有列同样无法修复,并且修改后的列数据发生改变后将验证不到数据改变。

综上,veridata只能修复源端和目标端对应表对应列的数据不一致情况。无法进行行DDL修复。原理就是映射,无对应关系则无法验证。数据类型改变后同样无法验证。

参考网址:http://www.it189.com/2016/02/15/217/

相关文章:

  • 2021-11-15
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2021-11-28
  • 2021-06-15
  • 2021-11-19
  • 2021-04-28
猜你喜欢
  • 2021-07-05
  • 2021-08-17
  • 2021-05-31
  • 2021-10-26
  • 2021-12-18
  • 2021-08-13
  • 2021-05-17
相关资源
相似解决方案