Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1244188
  • 博文数量: 350
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5668
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-23 17:53
文章分类

全部博文(350)

文章存档

2013年(350)

分类: Oracle

2013-04-10 13:36:42

在之前的文档介绍的GoldenGate安装和初始化环境的配置。并且通过简单的实例演示了,通过GoldenGate自带的Direct Load功能,从源端一次性初始化数据到目标端,参见:Oracle GoldenGate安装应用及初始化数据示例

数据完成初始化后,紧接着会面临后续数据同步的问题,本节通过实例介绍,如何配置GoldenGate满足这种场景的需求。

在前面的配置中,我们在jss用户下创建了j1表,这里仍以该表为例,增量同步ora9i下的jss.j1对象到目标端同名帐户下。

源端配置

首先连接到:

    GGSCI (ora9node1) 5> dblogin userid ggate@source, password ggate 

    Successfully logged into database.

要同步的对象需要启用supplemental logging,执行add trandata命令:

    GGSCI (ora9node1) 6> add trandata jss.j1


    Logging of supplemental redo data enabled for table JSS.J1.

注意,执行add trandata命令前,必须连接到源端数据库,每个要同步的对象都需要执行创建trandata,add trandata命令支持通配符,当需要处理多个对象时可以在一定程度上简化命令行数。


创建完成后,可以通过info trandata命令,查看指定对象的附加日志是否已经启动:

    GGSCI (ora9node1) 7> info trandata jss.j1


    Logging of supplemental redo log data is enabled for table JSS.J1

也可以在Oracle数据库以通过user_log_groups数据字典查询附加日志信息。


创建一个新的extract进程,执行命令如下:

    GGSCI (ora9node1) 8> add extract ext2,tranlog,begin now,threads 1

    EXTRACT added.

配置新创建的ext2相关参数,执行命令如下:

    GGSCI (ora9node1) 9> edit params ext2 

增加下列内容:

    extract ext2

    userid ggate@source, password ggate

    rmthost 172.16.1.110, mgrport 7809

    rmttrail ./dirdat/dt

    table jss.j1;

配置trail文件,保存extract的数据到目标端:

    GGSCI (ora9node1) 11> add rmttrail ./dirdat/dt, extract ext2

    RMTTRAIL added.

随后,就可以启动ext2进程:

    GGSCI (ora9node1) 12> start extract ext2


    Sending START request to MANAGER ...

    EXTRACT EXT2 starting


目标端配置

编辑全局参数文件:

    GGSCI (rhel5u3) 1> edit params ./GLOBAL 

增加下列内容:

    GGSCHEMA ggate

    CHECKPOINTTABLE ggate.checkpoint 

连接到目标端数据库:

    GGSCI (rhel5u3) 2> dblogin userid ggate, password ggate

    Successfully logged into database.

创建一个检查点表,Replicat通过该表维护读取位置:

    GGSCI (rhel5u3) 3> add checkpointtable ggate.ggschkpt


    Successfully created checkpoint table GGATE.GGSCHKPT.

创建新的replicat进程:

    GGSCI (rhel5u3) 4> add replicat rep2, exttrail ./dirdat/dt, checkpointtable ggate.ggschkpt

    REPLICAT added.

编辑rep2配置文件:

    GGSCI (rhel5u3) 5> edit param rep2

增加下列内容:

    REPLICAT rep2

    ASSUMETARGETDEFS

    USERID ggate@target, PASSWORD goldengate

    DISCARDFILE ./dirrpt/rep2_gg2.dsc, PURGE

    MAP jss.*, TARGET jss.*;

保存退出后,启动复制进程:

    GGSCI (rhel5u3) 6> start replicat rep2


    Sending START request to MANAGER ...

    REPLICAT REP2 starting


配置工作至此完成,接下来就可以通过语句,在源端对jss.j1表执行dml操作(由于未执行DDL脚本,当前的配置环境仍不支持DDL同步),然后目标端查看是否顺利接收并应用。

    ORA9I> insert into jss.j1 values (23624,'a');


    1 row created.


    ORA9I> commit;


    Commit complete.

目标端执行查询:

    RHEL5> select * from jss.j1 where id=23624;


            ID VL

    ---------- ------------------------------

         23624 C

同步成功。


=============================================

阅读(2290) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~