基于goldengate构建在线报表系统时,通过在源端节点添加datadump进程组,可以将网络功能、数据过滤和转换功能从extract进程组剥离出来,提高了各进程组的工作效率,在发生网络故障时,extract进程可以继续从数据库抓取数据。其拓扑结构如下:
在这种架构下,extract进程组首先将数据写入到本地exttrail文件,随后本地exttrail文件由datapump进程,通过网络投递到源端进行数据复制操作。
搭建环境如下:
源端数据库:mysql
目标端数据库:mysql
goldengate软件版本:12c
配置过程如下:
1、在源端节点上,使用ADD EXTRACT命令创建EXTRACT进程组,命令如下:
ADD EXTRACT ext, TRANLOG, BEGIN NOW
2、在源端使用如下命令添加exttrail文件:
ADD EXTTRAIL /u01/mysqlogg/dirdat/lr, EXTRACT ext
3、在源端节点上,使用edit param命令创建extract进程组的参数文件,添加参数内容如下
EDIT PARAMS EXT
-- Identify the Extract group:
EXTRACT ext
tranlogoptions altlogdest '/var/lib/mysql/binlog/bin.index'
-- Specify database login information as needed for the database:
- SOURCEDB db1@192.168.18.11:3306, USERID ogg, PASSWORD ogg
-- Specify the remote trail and encryption algorithm on the target system:
EXTTRAIL
/u01/mysqlogg/dirdat/lr-- Specify tables to be captured:
TABLE db1.t*;
4、在源端节点,使用如下命令创建datapump进程组
ADD EXTRACT pump, EXTTRAILSOURCE /u01/mysqlogg/dirdat/lr, BEGIN NOW
5、在源端使用如下命令添加rmttrail文件:
ADD RMTTRAIL /u01/mysqlogg/dirdat/rr, EXTRACT pump
6、在源端节点上,使用edit param命令创建pump进程组的参数文件,添加参数内容如下
EDIT PARAMS pump
-- Identify the data pump group:
EXTRACT pump
RMTHOST 192.168.18.12, MGRPORT 7809
- -- Specify the remote trail and encryption algorithm on the target system:
RMTTRAIL
/u01/mysqlogg/dirdat/rr-- Allow mapping, filtering, conversion or pass data through as-is:
TABLE db1.t*;
7、在目标节点,创建检查表,用于存放复制进程组的检查点信息
dblogin sourcedb ogg@192.168.18.12:3306 userid ogg password ogg
add checkpointtable ogg.ggs_checkpoint
8、在目标节点,创建replicat进程组,命令如下
ADD REPLICAT rep
, EXTTRAIL /u01/mysqlogg/dirdat/rr, BEGIN now
6、在目标节点,使用edit param命令编辑replicat进程组参数如下
- EDIT PARAM rep
-- Identify the Replicat group:
REPLICAT rep
-- State whether or not source and target definitions are identical:
ASSUMETARGETDEFS
-- Specify database login information as needed for the database:
TARGETDB db1@192.168.18.12:3306, USERID ogg, PASSWORD ogg
-- Specify tables for delivery and threads if using coordinated Replicat:
MAP db1.t*, TARGET db1.*;
优点:
1、配置简单
2、可以抵御网络故障,当网络发生故障时,extract进程组继续抽取数据,dump进程阻塞报错。
网络恢复后,一切恢复正常
建议:
在生产环境中,建议使用该种架构。