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

总体框架图:

OGG管理-veridata安装部署

(1) 安装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™ SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot™ 64-Bit Server VM (build 25.191-b12, mixed mode)

(2)安装ADR

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

[[email protected] ~]$ cd soft/
[[email protected] soft] f m w 1 2.2.1.2. 0 i n f r a s t r u c t u r e D i s k 1 1 o f 1. z i p ∗ ∗ [ o r a c l e @ t a r g e t s o f t ] fmw_12.2.1.2.0_infrastructure_Disk1_1of1.zip **[[email protected] soft] fmw12.2.1.2.0infrastructureDisk11of1.zip[oracle@targetsoft] java -jar fmw_12.2.1.2.0_infrastructure.jar**

OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署

OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
点击”完成”。好了,顺利完成了Fusion Middleware Infrastructure的安装。

(3)安装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
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
点击”完成”,退出OUI界面。

在源端上安装Oracle GoldenGate Veridata Agent,安装方法一样,只是在第4步(如下图所示)选择安装Oracle GoldenGate Veridata Agent。
OGG管理-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
OGG管理-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是否正常 源端同样操作。

(4)创建RCU

[[email protected] ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/oracle_common/bin
[[email protected] bin]$ ./rcu
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
上图显示了即将创建的表空间,如果要修改点击”管理表空间”,不修改则点击”下一步”

开始创建所需表空间,创建完成后点击”确定”
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署

(5)配置WebLogic Domain

[[email protected] ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/wlserver/common/bin/
[[email protected] bin]$ ./config.sh
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
根据实际填写前面创建的veridata数据库的信息,点击”获取RCU配置”,点击”下一步”
OGG管理-veridata安装部署
OGG管理-veridata安装部署
点击”测试所选连接”,测试成功后点击”下一步”
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
OGG管理-veridata安装部署
点击创建。
OGG管理-veridata安装部署
OGG管理-veridata安装部署
记下以上的信息,点击”完成”。

(6)检查配置并启动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
OGG管理-veridata安装部署
输入· username password
OGG管理-veridata安装部署
注:这个是在前台运行,如果想在让它在后台运行,需要修改一下参数
[[email protected] ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata_domain/bin
[[email protected] bin]$ vim startWebLogic.sh
OGG管理-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”
OGG管理-veridata安装部署

SERVER_MEM_ARGS_64HotSpot=”-Xms256m –Xmx1024m”

改为

SERVER_MEM_ARGS_64HotSpot=”-Xms1024m –Xmx2048m”
[[email protected] bin]$ vim startManagedWebLogic.sh
找到WLS_USER=””和WLS_PW=”” 填上用户名和密码
OGG管理-veridata安装部署
最后启动veridataserver

[[email protected] ~] c d / h o m e / o r a c l e / O r a c l e / M i d d l e w a r e / O r a c l e H o m e / v e r i d a t a d o m a i n / v e r i d a t a / b i n [ o r a c l e @ t a r g e t b i n ] cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata_domain/veridata/bin [[email protected] bin] cd/home/oracle/Oracle/Middleware/OracleHome/veridatadomain/veridata/bin[oracle@targetbin] ./veridataServer.sh start &

(7)创建Veridata Server WebUI的登录用户

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

http://ip:7001/console

OGG管理-veridata安装部署
登录后点”安全领域”,再点右边的”myrealm”,如下图
OGG管理-veridata安装部署
点击”用户和组”,再点”新建”,如下图:
OGG管理-veridata安装部署
新建一个用户veridataadmin,密码自行指定,点击”确定”。如下图:
OGG管理-veridata安装部署
配置veridataAdmin组,点击”veridataAdmin”,如下图:
OGG管理-veridata安装部署
点击”组”,全部选中,点击”保存”。
OGG管理-veridata安装部署

(8) 使用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 selectany 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 selectany 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;

(9) Veridata Web UI的登录

使用刚创建的用户名密码

登录GoldenGate Veridata Web UI

http://ip:8830/veridata
OGG管理-veridata安装部署
配置Connection
首先进入连接配置
OGG管理-veridata安装部署
点击新建
OGG管理-veridata安装部署
填写连接源端的名称和描述,点击Next
OGG管理-veridata安装部署
填写连接GoldenGate Veridata Agent的信息,点击Verify,再点击Next

OGG管理-veridata安装部署
填写连接源端数据库的用户名和密码,点击Test Connection,点击Finish
OGG管理-veridata安装部署
同样的方法建立目标端的连接
OGG管理-veridata安装部署
配置Group

连接配置好后,接着来配置group,点击左侧的Group Configuration,再点击右侧的New
OGG管理-veridata安装部署
指定一个Group的名称
OGG管理-veridata安装部署
指定源端和目标端的连接信息,如下图,点击Finish
OGG管理-veridata安装部署
点击确定
OGG管理-veridata安装部署
接着,点击Edit来创建Compare Pair
OGG管理-veridata安装部署
点击Go to Compare Pair Configuration
OGG管理-veridata安装部署
点击Pattern Mapping
OGG管理-veridata安装部署
选择源库和目标库要比较的Schema,本文以scott为例,选好后点击Generate Mappings

OGG管理-veridata安装部署
将scott的Schema里要对比的内容打上勾,点击Save(注意:视图不要打勾)OGG管理-veridata安装部署
将Select All Pages打上勾,点击Validate Column Mapping
OGG管理-veridata安装部署
如下图,有出现一个感叹号的图标,说明这个对象不能自动Mapping(原因是没有组件),下面介绍自定义Mapping的方法,在有感叹号的这行上点击Edit链接

OGG管理-veridata安装部署
点击Column MappingOGG管理-veridata安装部署
在Key Mapping Method和Comparison Column Mapping Method处都选择User Defined,选择其中一个字段为Key,本文中选的是第一个字段,然后点击Validate,点击Save。

OGG管理-veridata安装部署
出现如下图的打勾图标,自定义Mapping配置成功,然后点击Compare Pair Configuration的链接

OGG管理-veridata安装部署
再次点击Validate Column Mapping可以看到原先感叹号的地方变成打勾了,其他有感叹号的地方依此操作。
OGG管理-veridata安装部署
至此Group Configuration就配置完成了,如需增加其他Schema的对比,依此添加。

(10)配置Job

创建Job,点击左侧的Job Configuration,点击右侧的New
OGG管理-veridata安装部署
填写Job的名称和描述点击NextOGG管理-veridata安装部署
勾选Job所关联的Groups,点击NextOGG管理-veridata安装部署
选择源端和目标端的连接,点击NextOGG管理-veridata安装部署
选择Profile,这里使用默认的Profile,点击Finish,点击OKOGG管理-veridata安装部署
执行Job,修复不同步的数据

配置好Job后,可以执行Job来比较源端和目标端的数据是否存在差异,点击RunOGG管理-veridata安装部署
点击Run Job
OGG管理-veridata安装部署
过一会儿,在左侧的Finished Jobs里点击View By Job,查看对比结果,从下图可以看到。OGG管理-veridata安装部署
此时发现,比较的四张表中有一个存在数据不一致的情况,下面进行验证和修复。

点击下方表格中的报告
OGG管理-veridata安装部署
查看报告信息,最后发现emp表的数据不一致
OGG管理-veridata安装部署
去库中查看数据验证OGG管理-veridata安装部署
库中存在两处数据不一致情况,下面进行修复

点击不同处OGG管理-veridata安装部署
输入用户名密码,运行修复OGG管理-veridata安装部署
一段时间之后,修复完成。OGG管理-veridata安装部署
去库中查看

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

OGG管理-veridata安装部署

相关文章: