OGG Veridata 是一种高速数据比较和修复解决方案,可在不中断正在进行的业务流程的情况下识别,报告和修复异构数据库之间的数据差异。OGG Veridata 12c 减少了比较数据所需的时间和资源数量,最大程度地减少了人为错误的影响,并加快发现潜在问题的速度,从而迅速解决。
安装
与OGG Monitor 一样,OGG Veridata 也需要设置Oracle WebLogic Server 域。完整的安装包括以下步骤:
(1) 安装JDK 1.8 或更高版本。
(2) 安装Oracle WebLogic Server 12 c 。
(3) 为Veridata 信息库安装受支持的数据库(Oracle 或SQL Server )。
(4) 安装Veridata server 。
(5) 安装OGG Veridata agent 。
(6) 使用RCU 创建OGG Veridata 信息库。
(7) 使用配置向导创建WebLogic Server domain 。
(8) 启动OGG Veridata 服务。
(9) 启动OGG Veridata 代理。
1. 软件下载
可以从Oracle E-Delivery 或通过Oracle 技术网(OTN )获得所有软件,下面示例在Linux 上的安装。简单罗列所需安装包及下载地址如下,具体下载步骤不做过多介绍。
q Java Development Kit (JDK)
安装和运行Veridata 服务器,代理和Fusion Middleware Infrastructure 需要此软件。你可以在下面地址下载该软件:
示例中我们选择该版本:jdk-8u241-linux-x64.tar.gz
q Oracle 融合中间件Oracle Fusion Middleware 12c (12.2.1.4.0) Product Distribution
运行OGG Veridata Server 需要此软件。你可以在下面地址下载该软件: https://www.oracle.com/tools/downloads/application-development-framework-downloads.html
示例中我们选择该版本:fmw_12.2.1.4.0_infrastructure_Disk1_1of1.zip
q OGGVeridata12c
这是应用程序软件本身,该软件执行两个方案之间的数据比较。你可以在下面地址下载该软件:
示例中我们选择该版本:fmw_12.2.1.4.0_ogg_Disk1_1of1.zip
获得所有必需的软件后,在每个主机上的/ tmp 内暂存文件。
2. 安装JDK
如前所述,WebLogic 需要JDK 1.8 才能正确安装和运行。根据您的安装要求,您的环境可能需要存在多个JDK 版本,因此最好将JDK 安装在系统上安装的默认Java 之外。
在安装JDK 之前,请创建安装目录,对于本示例,我们使用/usr/java 。
创建目录并解压jdk 到该目录
# mkdir -p /usr/java # cd /usr/java # tar xvf jdk-8u241-linux-x64.tar.gz
设置环境变量
# vi /etc/profile 添加以下内容: export JAVA_HOME=/usr/java/jdk1.8.0_241 export JRE_HOME=/usr/java/jdk1.8.0_241/jre export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
生效环境变量
# source /etc/profile
JDK 部分就安装完成了,接下来开始安装Oracle 融合中间件Oracle Fusion Middleware 12c (12.2.1.4.0) Product Distribution
3. 安装融合中间件(WebLogic Server )
中间件可以部署在主库或备库的服务器上,最理想的情况是安装在第三台服务器上,在资源不够和减少主库服务器性能消耗的前提下,本次将在备库服务器上部署。
以oracle 用户身份,解压安装包
$ unzip fmw_12.2.1.4.0_infrastructure_Disk1_1of1.zip
通过调用OUI 进行安装:
$ java -jar fmw_12.2.1.4.0_infrastructure.jar
开始启动安装向导(图6-16 ),下一步
|
图6-16
接下来的安装和oracle 软件安装类似,按照要求填选,默认下一步即可,在如图6-17 屏幕中,选择Fusion Middleware Infrastructure 选项,无需安装示例。选择完成后,单击“下一步”。
图6-17
最后一个屏幕将是刚刚安装的内容的摘要。确保记下任何相关信息,例如ORACLE_HOME 和日志文件位置,此时,您可以单击完成。WebLogic 基础结构的OUI 安装现已完成。
4. 安装Veridate server
一旦安装了WebLogic ,就可以安装Oracle Veridata Server 。
以oracle 用户身份,解压安装包
$ unzip fmw_12.2.1.4.0_ogg_Disk1_1of1.zip
通过执行以下命令来调用OUI :
$ java -jar fmw_12.2.1.4.0_ogg.jar
如图6-19 显示,开始启动安装向导,确认正在安装的产品和版本,单击“下一步”
图6-19
接下来的步骤按照提示要求填选后下一步即可,这里不展示详细安装图,就几个重要步骤进行展示。如图6-20 ,OUI 将要求您提供二进制文件的Oracle Home 。有一个下拉列表将用WebLogic Server 的Oracle Home 填充,可与Oracle Veridata 一起使用,单击Next 。
图6-20
前面提到我们将veridata server 也安装在备库环境,即和备库的veridata agent 安装在相同服务器,所以在图6-21 中,我们选择veridata Server 和Agent 一起安装,单击Next
图6-21
最后一个屏幕将是安装摘要。确保记下任何相关信息,例如ORACLE_HOME 和日志文件位置,以备将来参考。单击“完成”以关闭OUI 并完成安装。
5. 安装Veridata agent
源端安装agent 步骤和目标端安装时相同,唯一区别是要选择OGG Veridata Agent ,如下图6-23
图6-23
至此源端和目标端agent 都安装完成,接下来配置agent 。
源端配置Agent
登陆oracle 用户
$ cd /home/oracle/Oracle/Middleware/Oracle_Home/veridata/agent $ ./agent_config.sh ~/Oracle/Middleware/veridata true $ cd ~/Oracle/Middleware/veridata $ cp agent.properties.sample agent.properties $ vi agent.properties 修改下面三个参数: server.port=7850 database.url=jdbc:oracle:thin:@192.168.211.201:1521/pdb1 server.jdbcDriver=ojdbc8.jar
如果数据库是CDB 模式,配置的是pdb 的url ,如果配置的是CDB root 的url ,那么在连接数据库后,在CDB root 下是无法找到pdb 下的用户,这是因为pdb 下的用户是local user 。
目标端配置Agent
和源端配置步骤相同,不同的是agent.properties 参数database.url 要设置成目标端的url
server.port=7850 database.url=jdbc:oracle:thin:@192.168.211.207:1521/pdb1 server.jdbcDriver=ojdbc8.jar
完成此操作后,我们准备启动agent 。
该agent 由一个名为agent.sh 的脚本控制。该脚本具有以下功能:
start|run|stop|reloadLog|version|debug
我们大多数使用脚本的开始和停止功能。通过执行以下命令启动agent :
$ ./agent.sh start
通过$ ./agent.sh reloadLog 或者logs 目录下的日志,查看agent 是否正常,下面(图6-24 )显示agent 启动正常
|
图6-24
6. 创建RCU
下一步是使用RCU 创建OGG Veridata 存储库,来存储连接,数据映射和其他Veridata 服务器所需的配置选项。前提条件,安装RCU 之前要单独为Veridata 创建一个实例,这里我们默认已经创建好一个oracle 数据库。
以oracle 用户身份运行
$ cd /home/oracle/Oracle/Middleware/Oracle_Home/oracle_common/bin $ ./rcu
如下图6-25 ,打开安装向导OUI ,开始RCU 创建。
图6-25
如下图6-626 所示,该向导提供了一些用于创建存储库的选项,因为这是一个简单的安装,所以默认设置很好。单击“下一步”
图6-26
在图6-27 中提供适当的凭据和数据库连接信息,这里的数据库连接参数填写为前面为veridata 创建的实例信息,确保输入标准主机名,端口和数据库服务。接下来,输入SYSDBA 凭据或其他DBA 用户凭据。输入数据后,单击“下一步”。
图6-27
在图6-28 中,涉及命名Veridata 存储库中用户以及选择要安装的正确组件。由于Veridata 是特定产品,因此最好为Veridata 存储库用户分配唯一的前缀。在此演示中,veridata 前缀已用于表示OGG Veridata 。接下来选择 Veridata 必须安装一些组件。因为已选择将存储库安装在Oracle 数据库上,所以需要以下组件:
图6-28
设置将要创建的存储库用户的密码(图6-29 )。为了进行此简单安装,请使用默认值,即对所有模式使用相同的密码。请务必记住该密码,因为在此过程的稍后阶段将需要使用该密码。
图6-29
按照提示,选择默认配置下一步,创建所有项目后,向导将加载完成摘要屏幕。该屏幕详细描述了已创建的所有组件以及日志文件的位置。您可以单击“关闭”退出向导。此时,您将能够登录到存储库并查看其元数据结构。
7. 配置Weblogic Domain
因为OGG Veridata Server 是Web 应用程序,所以必须在要运行该应用程序的WebLogic 实例中配置域。
用oracle 用户登陆
$ cd /home/oracle/Oracle/Middleware/Oracle_Home/wlserver/common/bin
然后通过执行以下命令来启动WebLogic Server 配置向导
$ ./config.sh
该简介屏幕上(图6-31 ),系统将要求您创建一个新域或升级现有域。因为这是一个新安装,请选择“创建新域”,然后选择前面定义的位置。确认选择后,单击“下一步”。
图6-31
在使用打包的产品模板来创建域的屏幕上(图6-32 )。做出选择之后,请确保还选择了实际的模板Veridata Standard Weblogic Server Domain 。选择正确的模板后,选择“下一步”
图6-32
如图6-33 ,为域选择一个管理员帐户。对于此安装,使用默认的weblogic 用户名是合适的。请确保记下该密码以备将来参考(如:密码oracle123 )。确认选择后,单击“下一步”。
图6-33
选择Domain Mode 和适当的JDK 。为了获得最高的安全性,应选择生产模式。选择JDK 时,请确保选择与本章前面安装的JDK 相关的选项。确认选择之后(图6-34 ),单击“下一步”。
图6-34
如图6-35 ,配置到Veridata 存储库的数据库连接,选择“ RCU data ” 选项。确保“Schema Owner ” 字段包含正确的用户。输入信息后,单击“Get RCU Configuration ” 以验证连接并从存储库中收集数据。验证了元数据后,单击“下一步”
图6-35
一路默认选择,直到如图6-36 ,选择相应选项进行拓扑配置,单击“下一步”。
图6-36
一直选择默认配置,并下一步,来到配置摘要页面,确认之前所做的所有选择。确保彻底检查此页面上的所有项目并记下特定更改例如IP 地址,端口,服务器名称等。确认所有条目后,单击“创建”创建域,直到创建成功,关闭OUI 界面。
8. 启动Weblogic 服务
因为Veridata 应用程序服务器是WebLogic 域中的应用程序,所以我们必须首先启动该域的WebLogic 管理服务。本示例中启动如下:
需要后台启动WebLogic 管理服务,首先需要修改下面参数,将账号密码补足
$ cd /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin vi startWebLogic.sh WLS_USER="weblogic" WLS_PW="oracle123"
然后以后台进程的方式启动服务。
$ cd /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain $ nohup ./startWebLogic.sh > startWebLogic.log &
日志出现如下提示(图6-38 ),表示启动完成。
|
图6-38
正常启动后,通过将浏览器导航至以下地址来测试管理服务器URL 的运行是否正常。
浏览器登陆 http://192.168.211.207:7001/console , 7001 是默认端口。输入在WebLogic 管理服务器安装期间配置的管理员用户名和密码。在我们的例子中,用户名是weblogic ,密码是oracle123 ,
9. 启动Veridata Managed Server
现在,管理服务已启动并且登录测试成功,我们可以继续启动Veridata 应用程序服务器。
用oracle 用户登陆
$ cd /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin
在此目录中,存放着一些启动脚本。修改setStartupEnv.sh 脚本,修改启动环境配置
$ 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”
修改startManagerWeblogic.sh 脚本,添加weblogic 域账号密码
$ vi startManagerWeblogic.sh 找到以下参数并补足: WLS_USER= WLS_PW=
后台启动Veridata Managed Server
$ cd /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/veridata/bin $ nohup ./veridataServer.sh start > veridataServer.log &
您可以通过检查日志文件中类似于以下内容的消息或直接登录服务器来确认服务器启动,出现如下图6-39 的字样,表示启动成功。
|
图6-39
如果在安装过程中未更改默认地址,则应该可以使用以下地址访问登录初始页面
http://192.168.211.207:8830/veridata/ ,默认端口8830
在成功登录服务器之前,必须创建用户并分配适当的特权。尽管可以使用WebLogic 管理员用户,但这不是最佳实践。
10. 创建Veridata Server WebUI 登录用户
浏览器登陆 http://192.168.211.207:7001/console , 7001 是默认端口.
在管理服务器主页上(图6-40 ),单击左侧功能区菜单上的安全领域-->myrealm
图6-40
点击用户和组--> 新建,如图6-41
图6-41
在图6-42 中,创建新用户
图6-42
输入所有信息后,单击“确定”返回到“用户和组”页面,接下来,必须将适当的角色分配给用户。请单击用户名称veridataadmin ,然后单击页面顶部的`` 组'' 选项卡,根据需要选择权限,这里我们选中所有,如图6-44
图6-44
单击保存以继续。再次,您将被重定向到“用户和组”主页面。此时,您准备好测试登录到Veridata 应用程序服务器中。使用以下地址:
http://192.168.211.207:8830/veridata/ ,默认端口8830
可以使用刚刚创建的用户登录,成功登录后,您应该看到如图6-45 所示的页面。
图6-45
比较
现在已经安装完成,并且应用程序服务器和所有代理正在运行,是时候执行数据比较任务了。 您可以使用以下步骤来配置veridata 比较,步骤如下:
(1) 创建数据库连接
(2) 创建组
(3) 创建比较对
(4) 创建作业
(5) 运行作业。
1. 配置Connection
配置比较的第一步是定义源和目标数据库连接。在Veridata 应用程序服务器主页上,单击左侧菜单功能区中``Configuration'' 菜单上的``Connect Configuration'' ,后单击右上角“new ”以创建新连接,填写源端连接信息(图6-47 ),Port 为agent.properties 配置中设置的端口
|
图6-47
下一步配置连接用户并进行连接测试,成功后点击“Finish ”结束,目标端的连接配置同上。
2. 配置Group
实际创建工作之前,我们应该定义一个工作组。组是一个或多个比较对的逻辑容器。首先,从左侧菜单栏的Configuration 菜单中选择Group Configuration ,单击右上角 new 开始在对话框中定义组。输入您要创建的工作组的适当名称和描述。输入信息后,单击下一步继续,在提供的下拉列表中选择前面配置的源和目标连接信息。做出选择后(图6-51 ),单击“完成”以继续。
图6-51
在确认对话框中,选中复选框“Go to Compare Pair Configuration … ”,将跳转到Compare Pair Configuration 对话框进行比较对配置。根据实际需求进行比较对配置,完成后点击“Generate Mappings “生成映射。如下图6-52 演示手工配置一张表的比对:
|
图6-52
点击“Generate Mappings “后会跳转到”preview “页面。到目前为止,新的比较对尚未保存到存储库中。确认后点击”save “进行保存。
上面只是演示了手工比较一张表的配置,当然也可以在“pattenr mapping ” 页面直接按照用户配置,根据选择的用户,veridata 会自动根据表名一一配对,在这里我们就不具体展开。
3. 配置JOB
下一个任务是创建和配置验证作业。在主页上单击左侧功能区上的Job Configuration ,单击“new ”开始创建一个新作业。为工作命名并提供有意义的描述。此信息完成后,单击“下一步”,在此对话框(图6-56 )中选择哪些组作为作业定义的一部分。
|
图6-56
选择好作业下的比较组后,单机下一步,选择源数据库和目标数据库的连接,后单击“finish ”以完成作业的配置。至此,系统现在已经准备好执行简单的数据验证作业。
4. 执行JOB
要运行作业,请单击左侧菜单功能区上的“job/execute job ” ,进入相应的菜单。
|
图6-57
从“job ”下拉列表中选择刚刚定义的作业。执行“run job ”,如图6-57 。这样定义的job 就运行起来了。
如果执行的作业中需要比对的表较多,或者表较大,job 会维持运行一段时间。若我们想要查看运行中的job 的情况,比如还剩多少表没有比对,或者就目前比对中是否存在不一致表。那么,可以查看左侧“running Jobs ”菜单,按需求进行选择,比如我们这里(图6-58 )是选择按job 来查看,看到目前名为jtest 的job 正在运行,该job 一共比对5 张表,其中2 张表已经比对成功且数据一致,还剩3 张表正在比对。
|
图6-58
作业完成后,将在“Finished Jobs ”菜单中放置一条记录。如图6-59 ,jscott 作业对应的“comparison status ”列为绿色,表示运行成功,且没有发现数据差异。该列还有其他两种状态,红色表示作业运行失败;黄色表示作业运行成功,但是存在数据差异。
图6-59
有关作业运行的其他详细信息,可以单击该单个运行右侧的“report ” 超链接获取。