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 路径:

1png

将 jar 存储在如下位置:

1png

步骤三:

配置 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

启动成功:

1png

到此,关于导出 btx 的部署就完成了,接下来就是收获的时节了。

对数据库中的表记录做增删改 (切记修改后一定要 commit 提交),dirout 目录输出文件如下:

对数据做修改后,每次 commit 提交,都会生成一个 btx 文件,btx 文件中会记录提交前修改的记录 (增删改)。

1png

2png

control 目录说明:

1png

该目录用于存储导出的 btx 文件信息,其中 xxx.ctrl 记录以天为单位的 btx 文件名,xxx.txt 记录表的主键,若表无主键,则记录所有的字段,如:pk=0;PID;NAME。若有主键,则只记录主键字段,如:pk=1;PNO。

此目录下的文件都是自动生成的,无需手动修改。

步骤五:

使用 merge.bat,对 dirout 目录下的 btx 做合并

将 merge.bat 存放在 ogg 安装目录,如:D:\ggs。

1png

启动前请修改 merge.bat 中的 EXECJAVA 位置.

2png

测试执行:

D:\ggs>merge.bat ./ 1

第一个参数:指 dirout 所在的目录

第二个参数:参数类型可为任意数值或字符串,不为空时表示手动合并 1 小时内的 btx;为空则表示定时合并 1 小时内的 btx。这里所说的 1 小时代表整点的时间。

执行后 merge 目录下的生成结果:

1png

merge 目录说明:

merge 下为表 Table 按 1 小时时间段合并的文件,合并会生成两个 btx 文件,分别记录 delete、insert 事件。当 SQL 语句为 UPDATE 时,记录 btx 文件时会按先 delete,后 insert 操作。

注意事项

1,日志的查看

跟踪日志:
1. 通过控制台输出信息查看

2.dirrpt 中事件记录文件查看

2,存储 btx 时,只支持对记录的修改,不支持对表结构的修改

点击下载:OGGToBtx.zip