Oracle GoldenGate单向复制配置

本文介绍如何使用GoldenGate配置数据库DML操作的同步过程。包括调整归档模式、开启补充日志、创建GoldenGate用户及配置Manager、Extract、Pump和Replicat等关键进程。

GoldenGate配置数据DML同步需要的进程

源数据库

  1. Manager进程:GoldenGate的控制进程,负责启动,监控和管理其他进程
  2. Extract进程:抽取进程,负责从源数据库中捕获修改的数据,然后保存为本地的tail文件
  3. Pump进程:传输进程,负责从本地tial文件中传输到目标数据库上

目标数据库

  1. Manager进程:同样需要配置一个 Manager进程
  2. Replicat进程:应用进程,负责把解析传输过来的tail文件,把修改应用到本地数据库里面

配置流程,在源数据库上执行以下步骤

调整归档模式,如果数据库运行在非归档模式下,首先要修改成归档模式,用sqlplus执行

SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open;

打开数据库级别的补充日志(supplemental log)

SQL>alter database add supplemental;

创建GoldenGate用户,为了简化流程,这里直接给ggs赋予了dba权限

SQL>create user ggs identified by ggs;
SQL>grant dba to ggs;

添加表级别的补充日志,用GGSCI执行,GGSCI在GoldenGate目录下面

GGSCI> dblogin userid ggs,password ggs

添加要同步表的补充日志,可以用通配符来用户所有的表

GGSCI>add trandata scott.*

配置源数据库的Manager进程

创建名字为mgr的Manager 进程的参数文件

GGSCI> edit params mgr

在打开的文件里添加以下内容

PORT 7809
DYNAMICPORTLIST 7810-7820
AUTORESTART ER t*, RETRIES 4, WAITMINUTES 4

保存文件,参数说明

PORT:Manager进程通信端口G
DYNAMICPORTLIST:表示Manager进程可以为通信分配的动态端口列表
AUTORESTART:自动重启Extract进程,重启次数为4次,每次间隔4s,如果不成功就放弃

启动Manager进程

GGSCI> start mgr

配置源数据库的Extract进程

创建名字为extest的抽取进程的参数文件

GGSCI> edit params extest

在打开的文件里添加以下内容

extract extest
userid ggs,password ggs
exttrail E:\OGG\product\12.1.2\oggcore_1\dirdat\et
dynamicresolution
table  scott.* ;

保存文件,参数说明

exttrail:本地tail文件的保存目录
dynamicresolution:动态解析原端的表名

在GGSCI中添加extest进程

GGSCI>add extract  extest,tranlog,begin now

添加本地tail文件

GGSCI>add exttrail E:\OGG\product\12.1.2\oggcore_1 \dirdat\et, extract  extest

启动Extract进程

GGSCI>start extest

配置源数据库的PUMP进程

创建名字为dpump的pump进程的参数文件

GGSCI> edit params dpump

在打开的文件里添加以下内容

extract dpump
passthru
userid ggs,password ggs
rmthost 192.168.7.234,mgrport 7809,compress
rmttrail C:\app\oracle\product\12.1.2\oggcore_1\dirdat\pt
table scott.* ;

保存文件,参数说明

rmthost:目标数据库的IP和端口,端口为目标数据库Manager进程中配置的端口号。
rmttrail:目标数据库tail文件的保存路径

在GGSCI中添加PUMP进程

 GGSCI>add extract dpump, exttrailsource E:\OGG\product\12.1.2\oggcore_1 \dirdat\et

注意:该地址应与extract进程中配置的trail文件地址一样

添加远程tail的保存路径

GGSCI>add rmttrail  C:\app\oracle\product\12.1.2\oggcore_1\dirdat\pt ,extract dpump

注意:该地址应与目标数据库中trail文件的地址一样

启动PUMP进程

GGSCI>start dpump

在目标数据库上执行以下步骤

创建GoldenGate用户,为了简化流程,这里直接给ggs赋予了dba权限

SQL>create user ggs identified by ggs;
SQL>grant dba to ggs;

添加checkpoint表,checkpoint表的作用是为了从异常失败场景中恢复数据

在GLOBALS中添加checkpoint

GGSCI>edit params ./GLOBALS

在打开的文件中添加

checkpointtable ggs.checkpoint

保存文件,在目标数据库中添加checkpoint表

GGSCI>dblogin userid ggs,password ggs
GGSCI>add checkpointtable ggs.checkpoint

配置目标数据库的Manager进程

创建名字为mgr的Manager 进程的参数文件

GGSCI> edit params mgr

在打开的文件里添加以下内容

PORT 7809
DYNAMICPORTLIST 7810-7820
AUTOSTART ER *
AUTORESTART EXTRACT *,WAITMINUTES 2,RETRIES 5
LAGREPORTHOURS 1
LAGINFOMINUTES 10
LAGCRITICALMINUTES 30
PURGEOLDEXTRACTS D:\Oracle_GoldenGate\dirdat\rt*, USECHECKPOINTS, MINKEEPDAYS 5

保存文件,启动Manager进程

GGSCI>start mgr

配置目标数据库的replicat进程

创建Replicat进程

GGSCI> add replicat repl,exttrail C:\app\oracle\product\12.1.2\oggcore_1\dirdat\pt ,checkpointtable ggs.checkpoint

注意:该地址应为trail文件的地址

创建名字为repl的Replicat进程的参数文件

GGSCI> edit params  repl

在打开的文件里添加以下内容

replicat repl
userid ggs,password ggs
assumetargetdefs
reperror default,discard
discardfile C:\app\oracle\product\12.1.2\oggcore_1\dirrpt\repl.dsc,append,megabytes 50
dynamicresolution
MAP scott.*,TARGET scott.* ;

保存文件,参数说明

assumetargetdefs:说明源数据库和目标数据库有相同的表定义
reperror:遇到复制错误默认行为记录错误并继续处理
dynamicresolution:动态解析对象名称,加快解析效率

启动replicat进程

GGSCI>start repl

测试

首先在两台服务器上看所有的进程状态是否都为RUNNING

GGSCI>info all

源端

源端

目标端

目标端

源端进程信息

源端进程信息1
源端进程信息2

目标端进程信息

目标端进程信息

在源端插入数据后查看进程的信息

在源端插入数据后查看进程的信息1
在源端插入数据后查看进程的信息2

目标端

目标端

查看目标端数据变化

查看目标端数据变化

同步完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值