一、源端(oracle)配置
1.创建同步测试表
create table gg_user.t01(name varchar(20) primary key);
create table gg_user.t02(id int primary key,name varchar(20));
2.添加定义文件(是异构之间的传输,需要转换字段类型等处理需用到defgen工具生成定义文件)
GGSCI (kermart) 4> edit params defgen
defsfile D:\ggate\dirdef\t01.def
userid gg_user,password oracle
table gg_user.t01;
table gg_user.t02;
注意:如果有多个表,需要每个都列出来,如果这个用户所有的表都需要同步,直接就table gg_user.*;
如果没有列出来,复制进程启动会报如下错误:
ERROR  OGG-00423  Oracle GoldenGate Delivery for SQL Server, RPL01.prm:  Could not find definition for GG_USER.T02.
ERROR  OGG-01668  Oracle GoldenGate Delivery for SQL Server, RPL01.prm:  PROCESS ABENDING.
生成定义文件
D:\ggate>defgen.exe paramfile D:\ggate\dirprm\defgen.prm

***********************************************************************
Oracle GoldenGate Table Definition Generator for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230
Windows x64 (optimized), Oracle 11g on Apr 23 2012 05:48:41

Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

Starting at 2014-04-24 16:43:37
***********************************************************************

Operating System Version:
Microsoft Windows 7 , on x64
Version 6.1 (Build 7601: Service Pack 1)

Process id: 6828

***********************************************************************
**  Running with the following parameters  **
***********************************************************************
defsfile D:\ggate\dirdef\t01.def
userid gg_user,password ******
table gg_user.t;
Retrieving definition for GG_USER.T

Definitions generated for 1 table in D:\ggate\dirdef\t01.def
将t01.def拷贝到sql server ogg下的dirdef目录下。
3.添加补充日志
GGSCI (kermart) 7> dblogin userid gg_user,password oracle
GGSCI (kermart) 8> add trandata gg_user.t01
GGSCI (kermart) 8> add trandata gg_user.t02

4.添加抽取进程
GGSCI (kermart) 5> edit params ext01
extract ext01
userid gg_user,password oracle
exttrail D:\ggate\dirdat\et
DYNAMICRESOLUTION
GETTRUNCATES
TABLE gg_user.t01;
TABLE gg_user.t02;

GGSCI (kermart) 1> add extract ext01,tranlog,begin now
GGSCI (kermart) 2> add exttrail D:\ggate\dirdat\et,extract ext01

5.添加传递进程
GGSCI (kermart) 6> edit params pump01
extract pump01
userid gg_user,password oracle
rmthost 127.0.0.1,mgrport 7810
rmttrail E:\ggate\dirdat\rt
PASSTHRU
TABLE gg_user.t01;
TABLE gg_user.t02;

GGSCI (kermart) 5> add extract pump01,exttrailsource D:\ggate\dirdat\et,begin now
GGSCI (kermart) 6> add rmttrail E:\ggate\dirdat\rt,extract pump01

二、目标端(sql server)配置
1.配置ODBC数据源
控制面板-管理工具-数据源(ODBC),添加系统DNS,取名为test01,注意择驱动程序类型为SQL Server Native Client 10.0
2.创建测试表(结构跟源端保持一致)
create table hjj.t01(name varchar(20) primary key);
create table hjj.t02(id int primary key,name varchar(20));
3.添加checkpointtable
GGSCI (kermart) 10> edit param ./globals
checkpointtable hjj.ckp
GGSCI (kermart) 8> dblogin sourcedb t01 userid sa password sa
GGSCI (kermart) 9> add checkpointtable hjj.ckp
3.添加复制进程
GGSCI (kermart) 58> edit param rpl01
replicat rpl01
sourcedefs E:\ggate\dirdef\t01.def
targetdb t01 userid sa, password sa
reperror default,discard
discardfile E:\ggate\dirrpt\rpl.dsc append
gettruncates
MAP gg_user.t01, TARGET hjj.t01;
MAP gg_user.t02, TARGET hjj.t02;

GGSCI (kermart) 12> add replicat rpl01,exttrail E:\ggate\dirdat\rt,begin now,checkpointtable hjj.ckp

三、测试
1.启动进程
源端:
start ext01
start pump01
GGSCI (kermart) 9> info all

Program  Status  Group  Lag at Chkpt  Time Since Chkpt

MANAGER  RUNNING
EXTRACT  STOPPED  EXDP  00:00:00  16:40:29
EXTRACT  STOPPED  EXORA  00:00:00  16:40:32
EXTRACT  RUNNING  EXT01  00:00:00  00:00:09
EXTRACT  STOPPED  EXT1  00:00:00  162:50:03
EXTRACT  RUNNING  PUMP01  00:00:00  00:00:05
EXTRACT  STOPPED  PUMP1  00:00:00  162:49:59
REPLICAT  STOPPED  MSREP  00:00:00  187:22:15
REPLICAT  STOPPED  REP1  00:00:00  163:47:29
目标端:
start rpl01
GGSCI (kermart) 59> info all

Program  Status  Group  Lag at Chkpt  Time Since Chkpt

MANAGER  RUNNING
EXTRACT  STOPPED  EXT1  00:00:00  163:48:28
EXTRACT  STOPPED  MSEXT  00:00:00  187:23:13
EXTRACT  STOPPED  PUMP1  00:00:00  163:48:25
REPLICAT  ABENDED  ORAREP  00:00:00  16:57:48
REPLICAT  STOPPED  REP1  00:00:00  162:49:46
REPLICAT  RUNNING  RPL01  00:00:00  00:00:04
2.在源端(oracle)进行DML操作
SQL> insert into t01 select 'lyn'||rownum from dual connect by level<=100;

已创建100行。

SQL> commit;

提交完成。

SQL> insert into t02 select rownum,'moon'||rownum from dual connect by level<=100;

已创建100行。

SQL> commit;

提交完成。

SQL> select count(*) from t01;

COUNT(*)
----------
100

SQL> select count(*) from t02;

COUNT(*)
----------
100
3.在目标端(sql server)查看数据同步复制情况
C:\>sqlcmd -S kermart -U sa -P sa -d TEST
1> select count(*) from hjj.t01;
2> go

-----------
100

(1 行受影响)
1> select count(*) from hjj.t02
2> go

-----------
100

(1 行受影响)

ogg实现oracle到sql server 2005的同步的更多相关文章

  1. ORACLE和SQL SERVER的数据同步常用方法

    ORACLE和SQL SERVER的数据同步常用方法 1. 自己编程,或者第三方工具2. 在sqlserver中,使用linkedserver,访问oracle,然后编写job进行数据同步3. 在or ...

  2. oracle跟SQL Server 2005 的区别

    Oracle与Sql server的区别   一直搞不明白Oracle数据库和sql server的区别,今天我特意查资料把他们的区别整理出来 Oracle数据库:Oracle Database,又名 ...

  3. 基于TreeSoft实现mysql、oracle、sql server的数据同步

    一.为了解决数据同步汇聚,数据分发,数据转换,数据维护需求,TreeSoft推出了数据同步,数据处理等丰富功能 . TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之间架起沟通的桥 ...

  4. sql server 2005导出数据到oracle

    一. 在sql server下处理需要导出的数据库 1. 执行以下sql,查出所有'float'类型的字段名,手动将float类型改为decimal(18,4). select 表名=d.name,字 ...

  5. 加载MySQL、Oracle、SQL Server 2000、SQL Server 2005及以上版本 的加载数据库驱动程序

    2018-11-04  20:00:59 开始 //getConnection(String url, String user, String password) //url:连接数据库的URL 3 ...

  6. 回首经典的SQL Server 2005

    原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com SQL Server是我使用时间最长的数据库,算起来已经有10年了.上世纪90年代,微软在软件开发的所有领域高歌猛 ...

  7. InstallShield高级应用--检查是否安装ORACLE或SQL Server

    InstallShield高级应用--检查是否安装ORACLE或SQL Server   实现原理:判断是否存在,是通过查找注册表是否含有相应标识来判断的. 注意:XP与WIN7系统注册表保存方式不一 ...

  8. SQL Server 2005 盛宴系列 经典教程

    SQL Server 2005 盛宴系列 经典教程  [复制链接]   发表于 2007-3-27 14:08 | 来自 51CTO网页 [只看他] 楼主     TECHNET  SQL serve ...

  9. SQL Server 2005、SQL Server 2008版本比较

    SQL Server 2005的版本有SQL Server 2005企业版(Enterprise).SQL Server 2005标准版(Standard) 和SQL Server 2005工作组版( ...

随机推荐

  1. 导出excel表格

    一. 1.获取数据源2.DataTable dt = st.Tables[0]; HttpResponse resp; // HTTP响应信息 resp = Page.Response; resp.C ...

  2. JQuery的过滤选择器

    1.eg(num):查找索引num位置的元素,索引从0开始. 2.lt(num):查找索引小于num位置的元素,索引从0开始. 3.gt(num):查找索引大于num位置的元素,索引从0开始. 示例: ...

  3. jQuery网页元素拖拽插件

    效果说明:配合已有CSS样式,载入插件后,网页元素可以随意在窗口内拖拽,设置了原位置半透明和拖拽半透明的效果选项,可根据需要选择.另外,当页面上有多个可拖拽元素时,可以载入另外一个用于设置z-inde ...

  4. solaris bind 符号未定义

    ld: fatal: Symbol referencing errors Recently, I am learning the Unix C and come to know that Socket ...

  5. Node.js 【Stream之笔记】

    从Node.js API文档中可知, 'A stream is an abstract interface implemented by various objects in Node. For ex ...

  6. 获取股票历史数据和当前数据的API

    关键字:股票,stock,API,接口 1.获取股票当前数据 新浪数据接口:http://hq.sinajs.cn/list={code}.{code}替换为股票代码,沪市股票代码加前缀sh,深市股票 ...

  7. 【maven项目结构】module 生成独立的jar

    生成jar 生成jar的过程会出现以下问题: clean完了之后就会出现以下问题: install [INFO] Scanning for projects... [INFO] [INFO] ---- ...

  8. Lua中cJson的读写

    这里采用的是Lua CJson库,是一个高性能的JSON解析器和编码器,其性能比纯Lua库要高10~20倍.并且Lua Json完全支持UTF-8,无需以来其他非Lua/LuaJit相关包. 环境安装 ...

  9. dnf的动画脚本研究

    . 1.0x00    : 帧数           int16 2.0x02    : 总为1(?) int16 3.0x04  : 资源文件名长度 int32 4.长度+1 :   0,1(未知用 ...

  10. OC 数据类型之间的转换方法

      NSNumber转NSString: 假设现有一NSNumber的变量A,要转换成NSString类型的B 方法如下: NSNumberFormatter* numberFormatter = [ ...