使用ogg来做数据迁移时,数据校验是一个必不可少的过程。GoldenGata Veridata作为官方提供的一种界面化的数据比对工具,可以帮助你高效、准确地校验数据。从零开始部署该工具,过程就相对繁琐。如何快速拥有这么一个环境,你是否期待?本文就教你如何配置一个docker容器,让你分分钟拥有!
下载镜像
–下载镜像文件
# docker pull ccr.ccs.tencentyun.com/szrsu/veridata:v1
v1: Pulling from szrsu/veridata
2d473b07cdd5: Already exists
4f4fb700ef54: Pull complete
26c3cb98dc64: Pull complete
e324fc265691: Pull complete
27bfbbde803c: Pull complete
bbead8c69930: Pull complete
0ca32b4a3dec: Pull complete
9a9d674aa548: Pull complete
943d2d3f5b5d: Pull complete
Digest: sha256:2586a0f1eca1cbaf18da6cb4c86c967773ffb75f9dd8dee2c8908e2c434438d0
Status: Downloaded newer image for ccr.ccs.tencentyun.com/szrsu/veridata:v1
ccr.ccs.tencentyun.com/szrsu/veridata:v1
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ccr.ccs.tencentyun.com/szrsu/veridata v1 fa6cafb25438 6 days ago 40.6GB
–修改tag
# docker tag ccr.ccs.tencentyun.com/szrsu/veridata:v1 veridata:v1
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ccr.ccs.tencentyun.com/szrsu/veridata v1 fa6cafb25438 6 days ago 40.6GB
veridata v1 fa6cafb25438 6 days ago 40.6GB
创建容器
–创建docker主机
docker run -d --name vdserver -h vdserver -p5122:22 -p8008:8008 -p8009:8009 -p7001:7001 -p8830:8830 -v /home/share:/media --privileged=true --restart=always veridata:v1 /usr/sbin/init
相关端口说明:
5122:docker虚拟机的ssh端口,可以通过ssh 宿主机的 5122端口直接访问容器
7001:weblogic控制台访问端口
8830:veridata server端口
8008:veridata agent 的端口,可以作为连接源端数据库的agent
8009:veridata agent 的端口,可以作为连接目标端数据库的agent
Administration访问地址:http://宿主机IP:7001/console weblogic/passw0rd
Veridata Server访问地址:http://宿主机IP:8830/veridata veridata/passw0rd
–查看容器
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
027262ba32fa veridata:v1 "/usr/sbin/init" 5 seconds ago Up 2 seconds 0.0.0.0:7001->7001/tcp, :::7001->7001/tcp, 0.0.0.0:8008-8009->8008-8009/tcp, :::8008-8009->8008-8009/tcp, 0.0.0.0:8830->8830/tcp, :::8830->8830/tcp, 0.0.0.0:5122->22/tcp, :::5122->22/tcp vdserver
–登录容器
# docker exec -it vdserver /bin/bash
或者直接 ssh 宿主机IP 5122端口也可登录容器,登录用户和密码:root/123456
veridata启动过程需要一定的时间,耐心等待一下,查看相关端口是否启动成功:
# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 172.18.0.2:7574 0.0.0.0:* LISTEN 1619/java
tcp 0 0 127.0.0.1:7574 0.0.0.0:* LISTEN 1619/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 246/sshd
tcp 0 0 127.0.0.1:1527 0.0.0.0:* LISTEN 989/java
tcp 0 0 172.18.0.2:7001 0.0.0.0:* LISTEN 990/java
tcp 0 0 127.0.0.1:7001 0.0.0.0:* LISTEN 990/java
tcp 0 0 172.18.0.2:8830 0.0.0.0:* LISTEN 1619/java
tcp 0 0 127.0.0.1:8830 0.0.0.0:* LISTEN 1619/java
tcp 0 0 172.18.0.2:23108 0.0.0.0:* LISTEN 1619/java
tcp 0 0 127.0.0.1:23108 0.0.0.0:* LISTEN 1619/java
tcp 0 0 0.0.0.0:18311 0.0.0.0:* LISTEN 735/ora_d000_verdb
tcp 0 0 0.0.0.0:8008 0.0.0.0:* LISTEN 275/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 276/java
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 130/rpcbind
tcp 0 0 0.0.0.0:1521 0.0.0.0:* LISTEN 355/tnslsnr
tcp6 0 0 :::22 :::* LISTEN 246/sshd
tcp6 0 0 :::111 :::* LISTEN 130/rpcbind
主要的8830、8008、8009端口要启动成功,如果不成功,看一下相关的服务状态,失败的服务可尝试重启一下:
# systemctl status veridata
# systemctl status veridata-agent
# systemctl status veridata-agent2
Veridata Agent配置
有两个agent服务,可以分别配置连接源端和目标端,使用的端口分别是8808和8809,相关的配置目录如下:
8008:/u01/Middleware/agent
8009:/u01/Middleware/agent2
如要修改配置,可以进入相关目录,修改agent.properties文件里面的配置
$ cat /u01/Middleware/agent/agent.properties|grep -v ^# |sed -e '/^ *$/d'
server.port=8008
database.url=jdbc:oracle:thin:@10.10.10.160:1521:ora11g
server.driversLocation = drivers
server.jdbcDriver=ojdbc8.jar oracle.xdb.jar
server.useSsl=false
server.use2WaySsl=false
server.allowTrustedExpiredCertificates=true
server.identitystore.path=./config/certs/serverIdentity.jks
server.truststore.path=./config/certs/serverTrust.jks
server.identitystore.type=JKS
server.truststore.type=JKS
server.identitystore.keyfactory.alg.name=SunX509
server.truststore.keyfactory.alg.name=SunX509
server.ssl.algorithm.name=TLS
$ cat /u01/Middleware/agent2/agent.properties|grep -v ^# |sed -e '/^ *$/d'
server.port=8009
database.url=jdbc:oracle:thin:@10.10.10.44:1521:dbbbed
server.driversLocation = drivers
server.jdbcDriver=ojdbc8.jar oracle.xdb.jar
server.useSsl=false
server.use2WaySsl=false
server.allowTrustedExpiredCertificates=true
server.identitystore.path=./config/certs/serverIdentity.jks
server.truststore.path=./config/certs/serverTrust.jks
server.identitystore.type=JKS
server.truststore.type=JKS
server.identitystore.keyfactory.alg.name=SunX509
server.truststore.keyfactory.alg.name=SunX509
server.ssl.algorithm.name=TLS
修改完成后,重启服务
[root@vdserver:~]# systemctl restart veridata-agent
[root@vdserver:~]# systemctl restart veridata-agent2
Veridata 配置
访问Veridata的地址:http://宿主机IP:8830/veridata ,用户名和密码分别为 veridata/passw0rd
Veridata配置Connection
登录到 http://宿主机IP:8830/veridata
登录用户/密码:veridata/passw0rd

点击左侧的Connection Configuration

点击NEW创建新AGENT连接
填写相关描述





Veridata配置Group
点击Group configuration


点击NEW

选择相关的Source db和Target db,点击FINISH


点击Go to compare pair Configuration

Veridata配置job
选择Job configuration,点击NEW



选择Groups

选择源和目标端,点击"Finish" 完成配置。
job创建成功,就可以下发任务,进行比对了,是不是很简单。




