2分六合

IT技术互动交流平台

GoldenGate学习二 在windows下配置oracle到oracle的单向数据同步

作者:rainzl  发布日期:2013-02-20 09:39:03


GoldenGate学习一 GoldenGate WINDOWS安装

GoldenGate配置数据DML同步需要配置的进程
1.源数据库
    Manager进程:GoldenGate的控制进程,负责启动,监控和管理其他进程。
    Extract进程:抽取进程,负责从源数据库中捕获修改的数据,然后保存为本地的tail文件。
    Pump进程:传输进程,负责从本地tial文件中传输到目标数据库上。
2.目标数据库
    Manager进程:同样需要配置一个 Manager进程
    Replicate进程:应用进程,负责把解析传输过来的tail文件,把修改应用到本地数据库里面。

配置流程,在源数据库上执行以下步骤:
1.调整归档模式,如果数据库运行在非归档模式下,首先要修改成归档模式,用sqlplus执行: hkcren.com
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open;

2.打开数据库级别的补充日志(supplemental log)
SQL>alter database add supplemental;

3.创建GoldenGate用户,为了简化流程,我这里直接给ggs赋予了dba权限,如果需要详细的权限控制,可以查看官方文档。
SQL>create user ggs identified by ggs;
SQL>grant dba to ggs;

3.添加表级别的补充日志,
用GGSCI执行,GGSCI在GoldenGate目录下面:
GGSCI> dblogin userid ggs,password ggs
添加要同步表的补充日志,可以用通配符来用户所有的表。
GGSCI>add trandata scott.*

4.配置源数据库的Manager进程
GGSCI> edit params mgr
在打开的文件里添加一下内容:
PORT 7809                       
DYNAMICPORTLIST 7810-7820
AUTORESTART ER t*, RETRIES 4, WAITMINUTES 4
保存文件。参数说明:
PORT:Manager进程通信端口。
DYNAMICPORTLIST:表示Manager进程可以为通信分配的动态端口列表。
AUTORESTART:自动重启Extract进程,重启次数为4次,每次间隔4s,如果不成功就放弃。

启动Manager进程。
GGSCI> start mgr

5.配置源数据库的Extract进程
创建名字为extest的抽取进程的参数文件
GGSCI> edit params extest
在打开的文件里添加一下内容:
extract extest
userid ggs,password ggs
exttrail D:\Oracle_GoldenGate\dirdat\et
dynamicresolution
table  scott.* ;
保存文件,参数说明:
exttrail:本地tail文件的保存目录
dynamicresolution:动态解析原端的表名。

在GGSCI中添加extest进程
GGSCI>add extract  extest,tranlog,begin now

添加本地tail文件
GGSCI>add exttrail D:\Oracle_GoldenGate\dirdat\et, extract  extest

启动Extract进程
GGSCI>start extest

6.配置源数据库的PUMP进程
创建名字为dpump的pump进程的参数文件
GGSCI> edit params dpump
在打开的文件里添加以下内容:
extract dpump
passthru
userid ggs,password ggs
rmthost 192.168.119.179,mgrport 7809,compress
rmttrail D:\Oracle_GoldenGate\dirdat\pt
table scott.* ;
保存文件,参数说明:
rmthost:目标数据库的IP和端口,端口为目标数据库Manager进程中配置的端口号。
rmttrail:目标数据库tail文件的保存路径

在GGSCI中添加PUMP进程
GGSCI>add extract dpump, exttrailsource D:\Oracle_GoldenGate\dirdat\et

添加远程tail的保存路径
GGSCI>add rmttrail  D:\Oracle_GoldenGate\dirdat\pt,extract dpump

启动PUMP进程
GGSCI>start dpump

在目标数据库上执行以下步骤:
1.创建GoldenGate用户,为了简化流程,我这里直接给ggs赋予了dba权限,如果需要详细的权限控制,可以查看官方文档。
SQL>create user ggs identified by ggs;
SQL>grant dba to ggs;

2.添加checkpoint表,checkpoint表的作用是为了从异常失败场景中恢复数据。
在GLOBALS中添加checkpoint
GGSCI>edit params ./GLOBALS
在打开的文件中添加
checkpointtable ggs.checkpoint
保存文件。
在目标数据库中添加checkpoint表:
GGSCI>dblogin userid ggs,password ggs
GGSCI>add checkpointtable ggs.checkpoint

3.配置目标数据库的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

4.配置目标数据库的replicat进程
GGSCI> edit params  repl
在打开的文件里添加以下内容:
replicat repl
userid ggs,password ggs
assumetargetdefs
reperror default,discard
discardfile ./dirrpt/repl.dsc,append,megabytes 50
dynamicresolution
map scott.*  target scott.* ;
保存文件,参数说明:
assumetargetdefs:说明源数据库和目标数据库有相同的表定义。
reperror:遇到复制错误默认行为记录错误并继续处理
dynamicresolution:动态解析对象名称,加快解析效率

启动replicat进程
2分六合 GGSCI>start repl

测试:
首先在两台服务器上分别输入:
GGSCI>info all
看所有的进程状态是否都为RUNNING
然后在源数据库更新,插入,修改看目标数据库是否更新一致。


Tag标签:            
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规