天天看点

oracle ogg 同步sql,ogg 同步SQLServer到Oracle

测试环境:     源端: win2003 R2 + sqlServer 2008 企业版     目标端:win2003 R2 + Oracle 10.2.0.1.0          源端先建好ODBC数据源: mssql-testdb1     数据库源端要做过一次全备份     mssql 用户: gguser/ggpwd,默认schema: gguser 一. 初始化配置 1. 源端(sql Server): 1) 创建子目录    进入安装包目录,运行ggsci.exe,输入如下命令       GGSCI> CREATE SUBDIRS     2) 添加windows服务进程    GGSCI> EDIT PARAMS ./GLOBALS        将以下内容添加到文件GLOBALS中    --------------------------------------------------    MGRSERVNAME GGSMGR-MSsql    --------------------------------------------------        通过windows命令行窗口进入GoldenGate安装包目录,执行命令:    E:\duanbb\ogg\mssql> INSTALL ADDSERVICE     2. 目标端 1) 创建子目录    进入安装包目录,运行ggsci.exe,输入如下命令    GGSCI> CREATE SUBDIRS        2) 添加windows服务进程    GGSCI> EDIT PARAMS ./GLOBALS        将以下内容添加到文件GLOBALS中    --------------------------------------------------    MGRSERVNAME GGSMGR-ORACLE    --------------------------------------------------        通过windows命令行窗口进入GoldenGate安装包目录,执行命令:    E:\duanbb\ogg\oracle> INSTALL ADDSERVICE 二. 数据同步准备 1. 源端 1) GGSCI> EDIT PARAM MGR    --------------------------------------------------    PORT 6809    --------------------------------------------------        GGSCI> START MANAGER     2) 添加附加日志(supplemental log)    GGSCI> DBLOGIN SOURCEDB mssql-testdb1,USERID gguser,PASSWORD ggpwd        GGSCI> ADD TRANDATA gguser.t1      3) 建立数据类型转换    (1) GGSCI> EDIT PARAM defgen    --------------------------------------------------    DEFSFILE E:\duanbb\ogg\mssql\dirdef\t1.def,PURGE    SOURCEDB mssql-testdb1,PASSWORD ggpwd    TABLE gguser.t1;    --------------------------------------------------    "gguser.t1"中的gguser指的是schema,下同        (2)运行windows命令行,进入安装目录,运行defgen,生成t1.def        E:\duanbb\ogg\mssql>defgen paramfile .\dirprm\defgen.prm        (3)将生成的t1.def拷到目标端dirdef目录下,因为目标端Replicat进程要用   2. 目标端 1) 启动 Manager 进程    GGSCI> EDIT PARAM MGR    --------------------------------------------------    PORT 7809    --------------------------------------------------        GGSCI> START MANAGER 2) 创建同步用户及对应的同步表    sql> create user duanbb identified by duanbb;    User created.    sql> grant connect,resource,select any dictionary to duanbb;    Grant succeeded.    sql> create table t1(         ID NUMBER(10) NOT NULL,        NAME VARCHAR2(100),        PRIMARY KEY(ID));              三. 针对初始数据加载配置 Extract 和 Replicat 1. 源端    将extract进程命名为 INIEXT (init extract)     GGSCI> ADD EXTRACT iniext,SOURCEISTABLE      GGSCI> EDIT PARAM iniext    --------------------------------------------------    EXTRACT INIEXT     SOURCEDB mssql-testdb1,PASSWORD ggpwd    RMTHOST 192.168.2.89,MGRPORT  7809    RMTTASK REPLICAT,GROUP INIREP    TABLE gguser.t1;       --------------------------------------------------     2. 目标端 1) 为 Replicat 进程设置参数    GGSCI> ADD REPLICAT INIREP,SPECIALRUN        GGSCI> EDIT PARAMS INIREP    --------------------------------------------------    REPLICAT INIREP    USERID duanbb,PASSWORD duanbb    DISCARDFILE E:\duanbb\ogg\oracle\inirep.txt,PURGE    SOURCEDEFS E:\duanbb\ogg\oracle\dirdef\t1.def    MAP gguser.t1,TARGET duanbb.t1;    --------------------------------------------------     四. 运行初始提取和加载 1. 在源端执行    GGSCI> START EXTRACT INIEXT 2. 在目标端验证    GGSCI> VIEW REPORT INIREP     五. 实时同步配置 1. 源端          GGSCI> ADD EXTRACT MSEXT,TRANLOG,BEGIN NOW        GGSCI> EDIT PARAMS MSEXT    --------------------------------------------------    EXTRACT MSEXT    TRANlogoPTIONS MANAGESECONDARYTRUNCATIONPOINT    SOURCEDB mssql-testdb1,PASSWORD ggpwd       RMTHOST 192.168.2.89,MGRPORT 7809    RMTTRAIL E:\duanbb\ogg\oracle\dirdat\ms    TABLE GGUSER.T1;    --------------------------------------------------        GGSCI> ADD RMTTRAIL E:\duanbb\ogg\oracle\dirdat\ms,EXTRACT MSEXT,MEGABYTES 50     2. 目标端    GGSCI> EDIT PARAMS ./GLOBALS    增加如下内容(不要覆盖以前的内容)    --------------------------------------------------    CHECKPOINTTABLE duanbb.chkpt    --------------------------------------------------    GGSCI> EXIT        GGSCI> DBLOGIN USERID duanbb,PASSWORD duanbb        GGSCI> ADD CHECKPOINTTABLE        GGSCI> ADD REPLICAT MSREP,EXTTRAIL E:\duanbb\ogg\oracle\dirdat\ms        GGSCI> EDIT PARAMS MSREP    --------------------------------------------------    REPLICAT MSREP    USERID duanbb,PASSWORD duanbb    SOURCEDEFS E:\duanbb\ogg\oracle\dirdef\t1.def    DISCARDFILE E:\duanbb\ogg\oracle\dirrpt\msrep.dsc,PURGE    MAP gguser.t1,TARGET duanbb.t1;    -------------------------------------------------- 六. 启动并测试联机事务复制 1. 源端    GGSCI> START EXTRACT MSEXT 2. 目标端    GGSCI> START REPLICAT MSREP

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。