ogg 导入数据存档 btx 下载与使用
前言
Oracle Golden Gate 是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。
本文主要介绍如何使用 OGG 将目标端的数据存为 BTX 文件。
部署步骤
步骤一:
搭建 Oracle GoldenGate Adapter Java 环境,可自行查看官方文档。
官方部署说明:https://docs.oracle.com/en/middleware/goldengate/core/index.html
官方下载:https://www.oracle.com/cn/middleware/technologies/goldengate-downloads.html
步骤二:
windows 下 ogg 路径:
将 jar 存储在如下位置:
步骤三:
配置 dirprm 目录下 javaue.properties 属性文件,在文件最后添加 jar 文件路径:
javawriter.bootoptions=-Djava.class.path=.;dirprm;ggjava/resources/classes;ggjava/resources/lib;ggjava/resources/lib;ggjava/ggjava.jar;dirprm/fastjson-1.2.2.jar;dirprm/oggplug.jar;dirprm/icu4j_3_4_5.jar;dirprm/dm.jar -Dlog4j.configuration=log4j.properties
步骤四:
启动 javaue 进程
GGSCI(hp) 1>start javaue
启动成功:
到此,关于导出 btx 的部署就完成了,接下来就是收获的时节了。
对数据库中的表记录做增删改 (切记修改后一定要 commit 提交),dirout 目录输出文件如下:
对数据做修改后,每次 commit 提交,都会生成一个 btx 文件,btx 文件中会记录提交前修改的记录 (增删改)。
control 目录说明:
该目录用于存储导出的 btx 文件信息,其中 xxx.ctrl 记录以天为单位的 btx 文件名,xxx.txt 记录表的主键,若表无主键,则记录所有的字段,如:pk=0;PID;NAME。若有主键,则只记录主键字段,如:pk=1;PNO。
此目录下的文件都是自动生成的,无需手动修改。
步骤五:
使用 merge.bat,对 dirout 目录下的 btx 做合并
将 merge.bat 存放在 ogg 安装目录,如:D:\ggs。
启动前请修改 merge.bat 中的 EXECJAVA 位置.
测试执行:
D:\ggs>merge.bat ./ 1
第一个参数:指 dirout 所在的目录
第二个参数:参数类型可为任意数值或字符串,不为空时表示手动合并 1 小时内的 btx;为空则表示定时合并 1 小时内的 btx。这里所说的 1 小时代表整点的时间。
执行后 merge 目录下的生成结果:
merge 目录说明:
merge 下为表 Table 按 1 小时时间段合并的文件,合并会生成两个 btx 文件,分别记录 delete、insert 事件。当 SQL 语句为 UPDATE 时,记录 btx 文件时会按先 delete,后 insert 操作。
注意事项
1,日志的查看
跟踪日志:
1. 通过控制台输出信息查看
2.dirrpt 中事件记录文件查看
2,存储 btx 时,只支持对记录的修改,不支持对表结构的修改
点击下载:OGGToBtx.zip