ogg实现oracle到sql server 2005的同步
一、源端(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的同步的更多相关文章
- ORACLE和SQL SERVER的数据同步常用方法
ORACLE和SQL SERVER的数据同步常用方法 1. 自己编程,或者第三方工具2. 在sqlserver中,使用linkedserver,访问oracle,然后编写job进行数据同步3. 在or ...
- oracle跟SQL Server 2005 的区别
Oracle与Sql server的区别 一直搞不明白Oracle数据库和sql server的区别,今天我特意查资料把他们的区别整理出来 Oracle数据库:Oracle Database,又名 ...
- 基于TreeSoft实现mysql、oracle、sql server的数据同步
一.为了解决数据同步汇聚,数据分发,数据转换,数据维护需求,TreeSoft推出了数据同步,数据处理等丰富功能 . TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之间架起沟通的桥 ...
- sql server 2005导出数据到oracle
一. 在sql server下处理需要导出的数据库 1. 执行以下sql,查出所有'float'类型的字段名,手动将float类型改为decimal(18,4). select 表名=d.name,字 ...
- 加载MySQL、Oracle、SQL Server 2000、SQL Server 2005及以上版本 的加载数据库驱动程序
2018-11-04 20:00:59 开始 //getConnection(String url, String user, String password) //url:连接数据库的URL 3 ...
- 回首经典的SQL Server 2005
原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com SQL Server是我使用时间最长的数据库,算起来已经有10年了.上世纪90年代,微软在软件开发的所有领域高歌猛 ...
- InstallShield高级应用--检查是否安装ORACLE或SQL Server
InstallShield高级应用--检查是否安装ORACLE或SQL Server 实现原理:判断是否存在,是通过查找注册表是否含有相应标识来判断的. 注意:XP与WIN7系统注册表保存方式不一 ...
- SQL Server 2005 盛宴系列 经典教程
SQL Server 2005 盛宴系列 经典教程 [复制链接] 发表于 2007-3-27 14:08 | 来自 51CTO网页 [只看他] 楼主 TECHNET SQL serve ...
- SQL Server 2005、SQL Server 2008版本比较
SQL Server 2005的版本有SQL Server 2005企业版(Enterprise).SQL Server 2005标准版(Standard) 和SQL Server 2005工作组版( ...
随机推荐
- OWIN and Katana - 1
翻译自 http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana 十多年来,基于ASP.NET框 ...
- php取整的几种方法
php取整的几种方式. floor 舍去法取整 语法格式:float floor ( float value )返回不大于value 的下一个整数,将value 的小数部分舍去取整.floor() 返 ...
- 《C和指针》 读书笔记 -- 第9章 字符串、字符和字节
1.字符串以NUL结尾,但字符串长度不包括NUl字节. 2.复制字符串 char *strcpy(char *dst,char const *src); 3.连接字符串 char *strcat(ch ...
- vs2010配备boost编程环境
vs2010配备boost编程环境 vs2010配置boost编程环境 第一步:下载boost,我下载的方法是从http://www.boost.org/上找最新的下载.名字叫boost_1_53_0 ...
- 九,WPF资源
WPF资源的优点 WPF资源系统是一种保管一系列有用对象的简单方法,从而可以更容易地重用这些对象,它主要有以下优点: 高效,通过资源可以定义一个对象,并在标记中的多个地方重用,这会使代码变的更加精简, ...
- PAT乙级真题1006. 换个格式输出整数 (15)(解题)
原题: 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个 ...
- JS 原型链图形详解
JS原型链 这篇文章是「深入ECMA-262-3」系列的一个概览和摘要.每个部分都包含了对应章节的链接,所以你可以阅读它们以便对其有更深的理解. 对象 ECMAScript做为一个高度抽象的面向对象语 ...
- go语言使用redis —— redigo
redis的client有好多好多,go语言的client在redis官方有两个推荐,radix和redigo.选择哪一个好呢?确实很纠结,后来掷硬币决定选择redigo了. redis.go.red ...
- java se doc
J2SE 5.0 Performance White Paper http://www.oracle.com/technetwork/java/5-136747.html Java Tuning Wh ...
- 0ffice365 Calendar API
Calendar REST API in Office 365 APIs Preview http://msdn.microsoft.com/EN-US/library/office/dn792114 ...