ogg-oracle to sqlserver
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的更多相关文章
- 你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗
ORACLE. SQLSERVER.MYSQL与DB2的区别--平台性: Oracle.MYSQL与DB2可在所有主流平台上运行: SQL Server只能在Windows下运行: --安 ...
- oracle与sqlserver部分区别
oracle和sqlserver的区别:1,执行修改操作要接commit,不然数据仅仅只是查看,并不是提交数据2,oracle不能使用select 字段 这种查看方式查看数据:3,oracle存储过程 ...
- ORACLE连接SQLSERVER
一.实验(实验成功) 1.实验目标:ORACLE连接SQLSERVER以及查询数据 2.搭建的环境: oracle 9i 9.0.2.0.1 地址:192.168.40.139 sql2000 的数据 ...
- 采用Hibernate框架的研发平台如何能够真正兼容Oracle和sqlServer数据库
都说Hibernate框架的使用可以很容易的让你的研发平台支持多种不同类型的数据库,但实践表明,这里的“容易”,是相对的. 想让研发平台支持多种数据库,并不是一件简单的事,也可以这么说:并不是只要使用 ...
- Java学习-006-三种数据库连接 MySQL、Oracle、sqlserver
此文主要讲述在初学 Java 时,常用的三种数据库 MySQL.Oracle.sqlserver 连接的源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源 ...
- CTE在Oracle和Sqlserver中使用的差异
CTE是一个很好用的工具,他可以帮助我们清晰代码结构,减少临时表使用,同时oracle和sqlserver都提供支持.但在oracle和sqlserver中使用CTE也存在一定区别. Oracle使用 ...
- NUll在oracle与sqlserver中使用相同与区别
最近在使用Oracle进行开发,遇到很多与以前使用sqlserver的不同语法.今天遇到null在两种数据库上面操作上的差别,在此记录两种数据库上的差异. null 与字符串相加 1.在oracle中 ...
- Oracle/Mysql/SqlServer函数区别
mysql日期和时间格式转换 Linux scp 使用详解 Oracle/Mysql/SqlServer函数区别 2011-07-01 12:34:36| 分类: Mysql技术 | 标签:mys ...
- 【从翻译mos文章】在OGG (Oracle GoldenGate) 正在使用SCHEMATRANDATA如果,需要额外的db patch
在OGG (Oracle GoldenGate) 正在使用SCHEMATRANDATA如果.需要额外的db patch 参考原始: Patches needed to support SCHEMATR ...
- oracle与sqlserver利用函数生成年月日加流水号
最近在做oracle相关的项目,刚接触oracle,与sqlserver语法上还是有区别的 sqlserver : 示例:FX+当前年月日+00001 如下图流水号实力所示 原理: 首先 'FX'是固 ...
随机推荐
- mysql还原数据库时,提示ERROR 1046 (3D000) No database selected 的解决方法
使用mysql数据库的朋友, 经常会使用mysqldump备案数据库, 然后到新服务器还原, 这个过程中, 有朋友会遇到ERROR 1046 (3D000) No database selected ...
- 解决iOS手势冲突问题
今天在做一个效果的时候,由于子视图和父视图都有响应的事件,子视图的事件理所当然被父视图拦截掉了,接下来就做分析解决 1. tableviewcell可以触发点击,同时tableview的父视图有点击 ...
- Linux简介,虚拟机安装,网络设置,桌面和vim安装
Linux简介: linux代表系统内核.Linux系统指基于Linux内核的操作系统,由内核和程序结合组成.比较流行的发行版本由RedHat Linux.Fedora.Centos.Debian.U ...
- KVO等具体实现步骤以及注意事项
KVO是一种设计模式,名为观察者. addObserver:forKeyPath:options:context: 通知其他对象的方法,这个方法在NSObject中就已经申明了,也就是说任何继承自NS ...
- 初探XRebel
一.什么是XRebel? 1.介绍 XRebel 是不间断运行在 web 应用的交互式分析器.可以看到网页上的每一个操作在前端以及服务端.数据库.网络传输都花费多少时间,当发现问题会在浏览器中显示警告 ...
- CubeSuit+ ( CS+ for ca )
作为瑞萨单片机的初学者,最先接触的当属它的IDE了,接下来我将分享一些我使用这款单片机的心得,以供大家参考. 我使用的是RL78F13系列R5F10BGE,那如何建立一个能使用的工程呢?相信大家在网络 ...
- ArcGIS API for JavaScript 4.2学习笔记[25] 官方第八章Analysis(空间查询)概览与解释
开森,最关注的空间分析章节终于到了,在空间查询那节逻辑性的代码简直要命(呵呵,空间分析的代码也要命...). 上目录截图: [Geodesic buffers(GeometryEngine)] 使用G ...
- 查看内存和cpu
top: 主要参数 d:指定更新的间隔,以秒计算. q:没有任何延迟的更新.如果使用者有超级用户,则top命令将会以最高的优先序执行. c:显示进程完整的路径与名称. S:累积模式,会将己完成或消失的 ...
- Zabbix自动发现java进程
一:简介 使用Python psutil模块,查找java模块,并获取启动命令,结合zabbix监控自动监控.点击下载 二:操作 发现脚本 #!/usr/bin/env python # coding ...
- 手机端rem如何适配_rem详解及使用方法2
作为一个前端开发人员,我们的任务是将UI设计师的图稿运用计算机语言呈现在用户面前.而现在的设备大小尺寸不一,近年来智能手机的普及更是让网页的用户大部分来源与手机,所以让不同大小的移动端屏幕都能较好的还 ...