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, USERID gguser, 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, USERID gguser, 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, USERID gguser, 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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值