测试环境: 源端: 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
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。