GoldenGate配置数据DML同步需要的进程
源数据库
- Manager进程:GoldenGate的控制进程,负责启动,监控和管理其他进程
- Extract进程:抽取进程,负责从源数据库中捕获修改的数据,然后保存为本地的tail文件
- Pump进程:传输进程,负责从本地tial文件中传输到目标数据库上
目标数据库
- Manager进程:同样需要配置一个 Manager进程
- 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
源端
目标端
源端进程信息
目标端进程信息
在源端插入数据后查看进程的信息

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

被折叠的 条评论
为什么被折叠?



