Veridata安装配置

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

总体框架图:

文档整体结构 

 安装JDK

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

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

[oracle@target ~]$ 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。

[oracle@target ~]$ cd soft/
[oracle@target soft]$ fmw_12.2.1.2.0_infrastructure_Disk1_1of1.zip
[oracle@target soft]$ java -jar fmw_12.2.1.2.0_infrastructure.jar 

 

 

 

 

 

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

安装Veridata 

[oracle@target soft]$ unzip fmw_12.2.1.2.0_ogg_Disk1_1of1.zip
[oracle@target soft]$ java -jar fmw_12.2.1.2.0_ogg.jar

 

 

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

 

 

 

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

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

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

用oracle用户登录

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

 配置agent的参数

[oracle@target ~]$ cd Oracle/Middleware/veridata_1/
[oracle@target veridata_1]$ cp agent.properties.sample agent.properties
[oracle@target 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

[oracle@target veridata_1]$ ./agent.sh start

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

源端同样操作。

 创建RCU

[oracle@target ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/oracle_common/bin
[oracle@target bin]$ ./rcu

 

 

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

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

点击”创建”

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

配置WebLogic Domain

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

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

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

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

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

点击创建。

 

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

检查配置并启动WebLogic

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

本文中不做修改

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

[oracle@target ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata_domain
[oracle@target veridata_domain]$ ./startWebLogic.sh

输入· username password

 

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

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

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

启动veridata managed server

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

oracle@target ~]$ cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata_domain/bin
[oracle@target 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”

SERVER_MEM_ARGS_64HotSpot=”-Xms256m –Xmx1024m”

改为

SERVER_MEM_ARGS_64HotSpot=”-Xms1024m –Xmx2048m”

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

 

[oracle@target bin]$ vim startManagedWebLogic.sh

 

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

最后启动veridataserver

[oracle@target ~]$cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata_domain/veridata/bin

[oracle@target bin]$ ./veridataServer.sh start &

创建Veridata Server WebUI的登录用户

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

http://ip:7001/console

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

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

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

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

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

使用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

配置Connection

首先进入连接配置

点击新建

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

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

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

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

配置Group

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

指定一个Group的名称

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

点击确定

接着,点击Edit来创建Compare Pair

点击Go to Compare Pair Configuration

点击Pattern Mapping

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

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

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

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

点击Column Mapping

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

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

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

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

配置Job

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

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

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

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

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

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

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

点击Run Job

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

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

点击下方表格中的报告

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

去库中查看数据验证

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

点击不同处

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

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

去库中查看

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

作业已是修复状态

再次运行作业比较

数据一致。

 

Profile设置

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

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

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

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

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

 

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

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

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

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

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值