Oracle GoldenGate Veridata 12.2.1安装配置
-
概述
Oracle GoldenGate Veridata是GoldenGate中用于比较数据库间数据同步效果的一个对比软件。Veridata基于Web,支持大数据量的数据对比,能够在不停止数据同步的情况下就可以比较数据。本文内容基于Oracle Linux 6.7环境下的Oracle GoldenGate Veridata 12.2.1版本,Oracle数据库版本为11.2.0.4,主要描述了Oracle GoldenGate Veridate的安装、配置、使用。
-
软件架构
-
软件下载
本文中所用到的软件包在Oracle官方网站都可以下载到,具体的下载地址如下:
JDK 8u71的下载地址
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Oracle GoldenGate Veridata v12.2.1的下载地址
http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html
Fusion Middleware Infrastructure(Application Development Runtime)12.2.1.0的下载地址
http://www.oracle.com/technetwork/developer-tools/adf/downloads/index.html
-
安装JDK
安装veridata需要JDK 1.8以上的版本
用root用户登录
# mkdir -p /usr/java
# cd /usr/java
# tar xvf /stage/jdk-8u71-linux-x64.tar.gz
# vi /etc/profile 在最后面加上以下四行
export JAVA_HOME=/usr/java/jdk1.8.0_71
export JRE_HOME=/usr/java/jdk1.8.0_71/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
然后
# source /etc/profile生效
# su – oracle
$ which java
执行结果如下:
/usr/java/jdk1.8.0_71/bin/java
$ java –version
执行结果如下:
java version “1.8.0_71”
Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)
好了,JDK部分就安装完成了,接下来开始安装Fusion Middleware Infrastructure
-
安装Fusion Middleware Infrastructure
如架构图所示,需要一台veridata server machine,但由于环境所限,本文中是在ogg目标端机器上安装Fusion Middleware Infrastructure和Veridata Server。实际生产环境中建议使用一台独立服务器安装Fusion Middleware Infrastructure和Veridata Server,在ogg源端和目标端上安装agent。
用oracle用户登录ogg目标端,解压软件包,用java命令执行解压出来的jar包,进行安装Fusion Middleware Infrastructure
$ unzip fmw_12.2.1.0.0_infrastructure_Disk1_1of1.zip
$ java -jar fmw_12.2.1.0.0_infrastructure.jar
OUI安装界面出来了
点击”下一步”
再点击”下一步”
如图,修改一下主目录的位置(也可以自己指定),点击”下一步”
选择Fusion Middleware Infrastructure,点击”下一步”
先决条件检查通过,点击”下一步”
填上MOS帐号,本文中没有填写,点击”下一步”
可以看到安装概要,点击”安装”
点击”完成”。好了,顺利完成了Fusion Middleware Infrastructure的安装。
-
GoldenGate Veridata Server和Agent的安装
前文已经讲过,如架构图所示,需要一台veridata server machine,但由于环境所限,本文中是在ogg目标端机器上同时安装Veridata Server和Veridata Agent。实际生产环境中建议使用一台独立服务器安装Veridata Server,在ogg源端和目标端上安装Veridata Agent。
用oracle用户登录ogg目标端,解压软件包,用java命令执行解压出来的jar包,进行安装Veridata server
$ unzip fmw_12.2.1.0.0_ogg_Disk1_1of1.zip
$ java -jar fmw_12.2.1.0.0_ogg.jar
点击”下一步”
选”跳过自动更新”,点击”下一步”
Oracle主目录与前面安装Fusion Middleware Infrastructure时一样,点击”下一步”
安装类型选择”Oracle GoldenGate Veridata Server和Agent”,点击”下一步”
先决条件检查通过,点击”下一步”
可以看到安装概要,点击”安装”
好了,很快就安装完成了,点击”下一步”
点击”完成”,退出OUI界面
在源端上安装Oracle GoldenGate Veridata Agent,安装方法一样,只是在第4步(如下图所示)选择安装Oracle GoldenGate Veridata Agent。
-
配置GoldenGate Veridata Agent
在ogg源端和目标端上安装好Oracle GoldenGate Veridata Agent后,要对Agent进行一些必要的配置:
用oracle用户登录
$ cd /u01/app/Middleware/Oracle_Home/veridata/agent
$ ./agent_config.sh /u01/app/Middleware/veridata_1 true
配置agent的参数
$ cd /u01/app/Middleware/veridata_1
$ cp agent.properties.sample agent.properties
$ vi agent.properties
修改一些内容:
配置agent的监听端口
server.port=7850
配置agent连接database的信息,请根据实际填写
database.url=jdbc:oracle:thin:@192.168.1.56:1521/target
server.driversLocation=/u01/app/oracle/product/11.2.0/dbhome_1/jdbc/lib
server.jdbcDriver=ojdbc7.jar
保存退出
启动agent
$ ./agent.sh start
通过./agent.sh reloadLog查看agent是否正常
-
创建RCU
首先在目标端新建一个名为veridata的数据库,字符集使用AL32UTF8
然后开始创建RCU,使用oracle用户登录
$ cd /u01/app/Middleware/Oracle_Home/oracle_common/bin
$ ./rcu
又出来一个OUI界面
点击”下一步”
如图,选择”创建资料档案库”,选择”系统加载和产品加载”,点击”下一步”
填写数据库连接详细信息,请根据实际填写,填写好后点击”下一步”
进行先决条件检查,检查通过后,点击”确定”
如上图所示,指定唯一前缀,选择所需组件,点击”下一步”
进行先决条件检查,检查全部通过后,点击”确定”
如上图,填写口令,点击”下一步”
上图显示了即将创建的表空间,如果要修改点击”管理表空间”,不修改则点击”下一步”
开始创建所需表空间,创建完成后点击”确定”
点击”创建”
稍等一会,就创建完成了,点击”关闭”
-
配置WebLogic Domain
用oracle用户登录
cd /u01/app/Middleware/Oracle_Home/wlserver/common/bin
./config.sh
出现Fusion Middleware配置向导窗口
点击创建新域,指定域位置,点击”下一步”
如图勾选所需的模板,点击”下一步”
填写管理员帐户名称和密码,点击”下一步”
选择域模式为”生产”,点击”下一步”
根据实际填写前面创建的veridata数据库的信息,点击”获取RCU配置”,点击”下一步”
点击”下一步”
点击”测试所选连接”,测试成功后点击”下一步”
点击”下一步”
勾选”受管服务器,集群和Coherence”,点击”下一步”
点击”下一步”
本文没有使用集群,故点击”下一步”
点击”下一步”
点击”下一步”
点击”创建”
域创建成功,点击”下一步”
记下以上的信息,点击”完成”
-
检查配置并启动WebLogic
Veradata Server的配置文件放在:
/u01/ap/Middleware/Oracle_Home/veridata_domain/config/veridata/veridata.cfg
本文中不做修改
-
启动weblogic admin server
先启动weblogic admin server,用oracle用户登录
$ cd /u01/app/Middleware/Oracle_Home/veridata_domain
$ ./startWebLogic.sh
会有提示输入用户名和密码,用户名填weblogic,密码填安装时填写的密码
Enter username to boot WebLogic server:weblogic
Enter password to boot WebLogic server:oracle_4U
等待一会,出现如下提示,就表示启动完成了。
注:这个是在前台运行,如果想在让它在后台运行,需要修改一下参数
$ cd /u01/app/Middleware/Oracle_Home/veridata_domain/bin
$ vi startWebLogic.sh
如下图所示增加两行:
$ cd /u01/app/Middleware/Oracle_Home/veridata_domain
$ ./startWebLogic.sh &
-
启动veridata managed server
启动之前先要调整一下参数,用oracle用户登录
$ cd /u01/app/Middleware/Oracle_Home/veridata_domain/bin
$ vi 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”
内存多的话可适当调大数值
如下图:
然后
$ vi startManagerWeblogic.sh
找到WLS_USER=””和WLS_PW=””
填上用户名和密码,如下图:
最后我们来启动veridataserver
$ cd /u01/app/Middleware/Oracle_Home/veridata_domain/veridata/bin
$ ./veridataServer.sh start &
启动后如图所示
-
创建Veridata Server WebUI的登录用户
用浏览器打开以下链接,登录weblogic console:
http://192.168.1.56:7001/console (请根据实际填写)
填上用户名weblogic密码填写安装时设置的密码
登录后点”安全领域”,再点右边的”myrealm”,如下图:
点击”用户和组”,再点”新建”,如下图:
新建一个用户veridataadmin,密码自行指定,点击”确定”。如下图:
配置veridataadmin组,点击”veridataadmin”,如下图:
点击”组”,全部选中,点击”保存”。
-
使用Oracle GoldenGate Veridata WebUI
在使用Veridata WebUI之前我们先要在源端和目标端数据上做一些配置:
在源库创建一个表空间goldengate和用户goldengate,如果已存在可用其他名称
SQL>create tablespace goldengate datafile size 500m autoextend on;
SQL>create user goldengate identified by oracle_4U default tablespace goldengate account unlock;
授予相关权限
SQL>grant connect,resource to goldengate;
SQL>grant select any table to goldengate;
在目标库同样创建表空间goldengate和用户goldengate,如果已存在可用其他名称
SQL>create tablespace goldengate datafile size 500m autoextend on;
SQL>create user goldengate identified by oracle_4U default tablespace goldengate account unlock;
授予相关权限
SQL>grant connect,resource to goldengate;
SQL>grant select any table to goldengate;
SQL>grant update any table to goldengate;
SQL>grant insert any table to goldengate;
SQL>grant delete any table to goldengate;
SQL>grant alter any table to goldengate;
-
Veridata Web UI的登录
登录GoldenGate Veridata Web UI
http://192.168.1.56:8830/veridata(请根据实际填写),填上刚才在10.3中设置的用户名和密码,点Login登录
-
配置Connection
首先进入Connection Configuration
点击New,如下图
填写连接源端的名称和描述,点击Next
填写连接GoldenGate Veridata Agent的信息,点击Verify,再点击Next
填写连接源端数据库的用户名和密码,点击Test Connection,点击Finish
同样的方法建立目标端的连接
-
配置Group
连接配置好后,接着来配置group,
点击左侧的Group Configuration,再点击右侧的New
指定一个Group的名称,本文中以HR Schema为例,故填写HR
指定源端和目标端的连接信息,如下图,点击Finish
接着,点击Edit来创建Compare Pair
点击Go to Compare Pair Configuration
点击Pattern Mapping
选择源库和目标库要比较的Schema,本文以HR为例,选好后点击Generate Mappings
将HR的Schema里要对比的内容打上勾,点击Save(注意:视图不要打勾,本文为了说明自定义Mapping的方法将所有的内容都打上勾了)
将Select All Pages打上勾,点击Validate Column Mapping
如下图,有出现一个感叹号的图标,说明这个对象不能自动Mapping,下面介绍自定义Mapping的方法,在有感叹号的这行上点击Edit链接
点击Column Mapping
如下图如示,在Key Mapping Method和Comparison Column Mapping Method处都选择User Defined,选择其中一个字段为Key,本文中选的是第一个字段,然后点击Validate,点击Save。
点击Validate Existing Column Mapping,出现如下图的打勾图标,自定义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,查看对比结果,从下图可以看到,是一个等号的图标,说明这个Job中源端和目标端所对比的内容是一致的
接下来,介绍源端和目标端不同步的情况如何进行修复。下图可以看到,一个新的Job,验证结果的图标不是等号,表示源端和目标端的数据是不一致的。点击Out-Of-Sync:1链接
点击Run Repair
等待一会,修复就完成了,可以看到修复的结果。
-
Profile设置
有的时候,默认的Profile并不适用,可以对默认的Profile进行修改或者新建Profile
点击左侧的Profile Configuration,点击右侧的Edit,来修改默认的Profile
Sorting Method中Sort Data Using建议使用Server以减轻对生产库的负载,Maximum Memory Usage(MB)根据要比较的内容的多少以及机器的内存大小进行合理设置。
参考文档:
http://docs.oracle.com/goldengate/v1221/gg-veridata/index.html