oracle用ogg同步到sqlserver的资源非常少,所以亲测过后立马记下来,分享给那些需要的人们。如果不是被逼无奈,建议还是用sqlserver自带的复制订阅,配置比较简单。

环境:

source:  54      Centos7   oracle12.2           ogg12.3

target  :    52   Windows   sqlserver2012     ogg12.3

建议不要用oracle12.2  还是用12.1吧。ogg尽量比oracle版本新一点。如ogg12.3 > oracle12.2。

配置参数:

source:

1. 添加defgen参数文件(由于是异构数据库之间的传输,需要转换字段类型,需用到defgen工具生成定义文件)

GGSCI (tmis-3 as c##ggadmin@orcl/CDB$ROOT) 16> view params defgen  

defsfile /data/ogg/dirdef/tmisuser.def
userid system@tmis,password Sjtsoft123 TABLE tmis.tmisuser.PR_Practitioner;

2. 运行defgen工具生成定义文件
进入ogg安装目录

./defgen paramfile /data/ogg/dirprm/defgen.prm

会在dirdef目录下生成一个tmisuser.def的定义文件

3.建立ogg用户 赋权限

略:

.添加mgr

GGSCI (WIN-GRANHIGH6KV) > view params mgr
PORT
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *,RETRIES , WAITMINUTES , RESETMINUTES
5.添加全局参数

GGSCI (WIN-GRANHIGH6KV) 2> view params ./GLOBALS
GGSCHEMA c##ggadmin
 6.添加抽取进程
GGSCI (WIN-GRANHIGH6KV) 3> view params ext5452 extract ext5452
SETENV(ORACLE_SID='orcl')
userid c##ggadmin,password ggadmin
exttrail /data/ogg/dirdat/ea
DYNAMICRESOLUTION
GETTRUNCATES TABLE tmis.tmisuser.PR_Practitioner;
7.添加投递进程:

GGSCI (WIN-GRANHIGH6KV) 4> view params p5452

extract p5452
SETENV(ORACLE_SID='orcl')
userid c##ggadmin,password ggadmin
rmthost 10.1.2.52,mgrport 7809
rmttrail D:\ogg\dirdat\pb
PASSTHRU TABLE tmis.tmisuser.PR_Practitioner;
8.添加表级附加日志

add trandata tmis.tmisuser.PR_Practitioner
--添加抽取进程
add extract ext5452,integrated tranlog,begin now
add exttrail /data/ogg/dirdat/ea,extract ext5452 --注册抽取进程
REGISTER EXTRACT ext5452 DATABASE CONTAINER(tmis) --添加投递进程
add extract p5452,exttrailsource /data/ogg/dirdat/ea,begin now
add rmttrail D:\ogg\dirdat\pb,extract p5452

target:

1.配置ODBC数据源
控制面板-管理工具-数据源(ODBC),添加系统DNS,取名为 tmisdb,注意择驱动程序类型为SQL Server Native Client 11.0
GGSCI (ZJPC) > view params mgr
port
ACCESSRULE, PROG *, IPADDR 10.1.2.54, ALLOW
.添加checkpointtable(建议添加,stop rep后会产生一个检查点,start之后会继续同步)
GGSCI (ZJPC) > view params ./globals
checkpointtable dbo.ckp GGSCI (tmis-) > edit params ./globals
checkpointtable dbo.ckp
GGSCI (tmis-) > dblogin sourcedb tmisdb userid sa password admin@
GGSCI (tmis-) > add checkpointtable dbo.ckp
3.添加复制rep进程:

GGSCI (ZJPC) 4> view params rep5452

replicat rep5452
sourcedefs D:\ogg\dirdef\tmisuser.def
targetdb tmisdb userid sa, password admin@123
reperror default,discard
discardfile D:\ogg\dirrpt\rpl.dsc append
gettruncates
handlecollisions MAP tmis.tmisuser.PR_Practitioner,TARGET dbo.PR_Practitioner;
--添加复制进程
add replicat rep5452,exttrail D:\ogg\dirdat\pb,begin now,checkpointtable dbo.ckp

启动进程,同步正常。但是数据初始化不太好弄,只想到init load 进程抽取,但是出现抽取数据不全,汉字乱码现象,打算改用kettle试试初始化俩个数据库,不知道有没有什么好的方法。希望各位网友给点帮助。

 

ogg-oracle to sqlserver的更多相关文章

  1. 你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗

    ORACLE. SQLSERVER.MYSQL与DB2的区别--平台性:    Oracle.MYSQL与DB2可在所有主流平台上运行:    SQL Server只能在Windows下运行: --安 ...

  2. oracle与sqlserver部分区别

    oracle和sqlserver的区别:1,执行修改操作要接commit,不然数据仅仅只是查看,并不是提交数据2,oracle不能使用select 字段 这种查看方式查看数据:3,oracle存储过程 ...

  3. ORACLE连接SQLSERVER

    一.实验(实验成功) 1.实验目标:ORACLE连接SQLSERVER以及查询数据 2.搭建的环境: oracle 9i 9.0.2.0.1 地址:192.168.40.139 sql2000 的数据 ...

  4. 采用Hibernate框架的研发平台如何能够真正兼容Oracle和sqlServer数据库

    都说Hibernate框架的使用可以很容易的让你的研发平台支持多种不同类型的数据库,但实践表明,这里的“容易”,是相对的. 想让研发平台支持多种数据库,并不是一件简单的事,也可以这么说:并不是只要使用 ...

  5. Java学习-006-三种数据库连接 MySQL、Oracle、sqlserver

    此文主要讲述在初学 Java 时,常用的三种数据库 MySQL.Oracle.sqlserver 连接的源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源 ...

  6. CTE在Oracle和Sqlserver中使用的差异

    CTE是一个很好用的工具,他可以帮助我们清晰代码结构,减少临时表使用,同时oracle和sqlserver都提供支持.但在oracle和sqlserver中使用CTE也存在一定区别. Oracle使用 ...

  7. NUll在oracle与sqlserver中使用相同与区别

    最近在使用Oracle进行开发,遇到很多与以前使用sqlserver的不同语法.今天遇到null在两种数据库上面操作上的差别,在此记录两种数据库上的差异. null 与字符串相加 1.在oracle中 ...

  8. Oracle/Mysql/SqlServer函数区别

    mysql日期和时间格式转换 Linux scp 使用详解 Oracle/Mysql/SqlServer函数区别 2011-07-01 12:34:36|  分类: Mysql技术 |  标签:mys ...

  9. 【从翻译mos文章】在OGG (Oracle GoldenGate) 正在使用SCHEMATRANDATA如果,需要额外的db patch

    在OGG (Oracle GoldenGate) 正在使用SCHEMATRANDATA如果.需要额外的db patch 参考原始: Patches needed to support SCHEMATR ...

  10. oracle与sqlserver利用函数生成年月日加流水号

    最近在做oracle相关的项目,刚接触oracle,与sqlserver语法上还是有区别的 sqlserver : 示例:FX+当前年月日+00001 如下图流水号实力所示 原理: 首先 'FX'是固 ...

随机推荐

  1. LBSN中的用户行为模式分析

    LBSN中的用户行为模式分析 zoerywzhou@gmail.com http://www.cnblogs.com/swje/ 作者:Zhouw  2015-12-23   声明: 1)该LBSN的 ...

  2. 使用soap实现简单webservice

    在网上看到一些关于用soap实现简单webservice的一些知识,简单整理一下希望对大家有所帮助. 可以给大家看一下我的简单实现的列子,Soap,大家可以到Github上自行下载. 首先说一下web ...

  3. IIS 5.x与ASP.NET

    转自:http://www.cnblogs.com/artech/archive/2009/06/20/1507165.html 我们先来看看IIS 5.x是如何处理基于ASP.NET资源(比如.as ...

  4. 理解cocoa和cocoa touch的响应者链

    该文章翻译自:Understanding cocoa and cocoa touch responder chain. 转载注明出处:http://www.cnblogs.com/zhanggui/p ...

  5. Python中import机制

    Python语言中import的使用很简单,直接使用import module_name语句导入即可.这里我主要写一下"import"的本质. Python官方定义:Python ...

  6. 【十八】php文件下载源码

    index.php <!DOCTYPE html> <html> <head> <title></title> <meta chars ...

  7. 搭建lnmp教程

    LNMP指的是一个基于CentOS/Debian 上安装Nginx.PHP.MySQL.php.可以在独立主机上轻松的安装LNMP生产环境. 1 安装nginx 如果是一台新的服务器可直接安装(若以前 ...

  8. TensorFlow文档翻译-01-TensorFlow入门

    版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/junyang/p/7429771.html TensorFlow入门 英文原文地址:https://w ...

  9. ExperDot的博客目录导航

    最近活动 我更新了博客!粒子系统:从零开始画一棵树 Github:[ UWP ] [ JavaScript ] 自然编程  奇幻元纪 上帝创世篇:如何画一颗静态树 女娲补天篇:仿人工拼接碎片 吴刚伐桂 ...

  10. Java 包装类Integer的值比较

    对于包装类型Integer的值比较与int的值比较是不同的:   public class Java_Val_Compare { public static void main(String[] ar ...