构造defgen档
由于 Oracle 和 SQL Server 中的数据类型不同。所以您必须建立数据类型转换。GoldenGate 提供了一个名为 DEFGEN 的专用工具。用于生成数据定义,当源表和目标表中的定义不同一时候,Oracle GoldenGate 进程将引用该专用工具。在执行
DEFGEN 之前,须要为其创建一个參数文件,指定该工具应检查哪些表以及在检查表之后存放类型定义文件的位置。

能够在 GGSCI 内使用 EDIT PARAMS 命令创建这样一个參数文件。


cd $GGS_HOME/dirprm  && vi defgen.prm
defsfile ./dirdef/defgen.def purge
userid ggmgr,password oracle
table ggmgr.t1;   #这里必须有分号

purge(默认)与append选一个,append就是往已经存在的同名的定义文件追加内容,purge是先清空。


运行defgen命令
cd $GGS_HOME && ./defgen paramfile ./dirprm/defgen.prm  
运行之前。假设已经有同名的defgen文件。会报错。所以得先删除。
    
上面命令。首先我们编辑一个包括登陆源库usernamepassword,要解析哪些表结构。以及要在哪里生成这个解析后的定义文件的參数文件。然后我们利用这个參数文件,结合defgen命令,来生成实际的定义文件。生成的定义文件,是包括表、列而且用更一般的定义描写叙述了原生数据类型。

./defgen paramfile ./dirprm/defgen.prm  [reportfile ./dirrpt/defgen.rpt]
这个reportfile指定除了要打印到屏幕。还打印到哪里。



将生成的dirdef/epcis.def 文件 scp上传到目标库的GoldenGate安装文件夹下的dirdef文件夹下。

使用二进制传输,能够避免不同系统之间对ascii编码的解析差异。

到时replicat进程会使用它。然后将一般的类型,又一次映射为目标库表的数据类型。


附录:运行defgen命令后打印的日志:
***********************************************************************
        Oracle GoldenGate Table Definition Generator for Oracle
      Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230
   Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 05:08:19
 
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
                    Starting at 2014-04-22 15:31:30
***********************************************************************
Operating System Version:
Linux
Version #1 SMP Wed Jul 27 21:02:33 EDT 2011, Release 2.6.32-200.13.1.el5uek
Node: erpp1.dji.com
Machine: x86_64
                         soft limit hard limit
Address Space Size : unlimited unlimited
Heap Size : unlimited unlimited
File Size : unlimited unlimited
CPU Time : unlimited unlimited
Process id: 22698
***********************************************************************
** Running with the following parameters **
***********************************************************************
defsfile ./dirdef/defgen.def
userid ggmgr,password ******
table ggmgr.t1;
Retrieving definition for GGMGR.T1
Definitions generated for 1 table in ./dirdef/defgen.def


附录:defgen.def内容
*+- Defgen version 2.0, Encoding UTF-8
*
* Definitions created/modified 2014-04-22 15:31
*
* Field descriptions for each column entry:
*
* 1 Name
* 2 Data Type
* 3 External Length
* 4 Fetch Offset
* 5 Scale
* 6 Level
* 7 Null
* 8 Bump if Odd
* 9 Internal Length
* 10 Binary Length
* 11 Table Length
* 12 Most Significant DT
* 13 Least Significant DT
* 14 High Precision
* 15 Low Precision
* 16 Elementary Item
* 17 Occurs
* 18 Key Column
* 19 Sub Data Type
*
Database type: ORACLE
Character set ID: UTF-8
National character set ID: UTF-16
Locale: neutral
Case sensitivity: 14 14 14 14 14 14 14 14 14 14 14 14 11 14 14 14
*
Definition for table GGMGR.T1
Record length: 56
Syskey: 0
Columns: 1
ID 64 50 0 0 0 1 0 50 50 50 0 0 0 0 1 0 1 2
End of definition

版权声明:本文博主原创文章。博客,未经同意不得转载。

defgen工具的更多相关文章

  1. OGG_GoldenGate数据表定义方式DEFGEN(案例)

    2014-03-09 Created By BaoXinjian

  2. ogg实现oracle到sql server 2005的同步

    一.源端(oracle)配置1.创建同步测试表create table gg_user.t01(name varchar(20) primary key);create table gg_user.t ...

  3. Oracle GoldenGate配置异构数据库数据传输(oracle到sqlserer)的dml操作(带pump进程)

    实验环境:os01:Red Hat Enterprise Linux Server release 5.1 (32位)db01:oracle 10.2.0.1.0 os02:Windows 7 (32 ...

  4. ogg-oracle to sqlserver

    环境: source:  54     Centos7  oracle12.2           ogg12.3 target  :    52 Windows sqlserver2012      ...

  5. ORACLE 11G R2 RAC classical install OGG12.1(LINUX) 经典抽取模式单项同步配置OGG12.1

    博文结构图如下: 一.环境描述以及注意事项 1.1 环境简介 IP 系统 Oracle版本 OGG版本 源端 172.16.10.16/36 RHEL6.5 oracle11204 12.1 目标端 ...

  6. oracle goldengate技术架构-简单试验(全)

    一  GoldenGate简介 Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源 数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库, ...

  7. Oracle GoldenGate 详解

    一.Oracle GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与目标数据库的数据 ...

  8. GoldenGate 进程

    GoldenGate进程 Manager进程 Manager进程是GoldenGate的控制进程,运行在源端和目标端上.它主要作用有以下几个方面:启动.监控.重启Goldengate的其他进程,报告错 ...

  9. 【OGG】OGG的下载和安装篇

    [OGG]OGG的下载和安装篇 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩ ...

随机推荐

  1. 关于使用commons-email包测试发送邮件遇到的问题

    项目中有个需求是这样的:客户办理某一项业务,当用户成功提交业务办理信息后,系统生成一个业务随机码给用户,以此作为以后的业务办理结果查询依据.鉴于随机码较长,方便用户记录,在生成随机码的同时,提供用户发 ...

  2. linux内核函数之 blk_plug

    分析: /* * blk_plug permits building a queue of related requests by holding the I/O * fragments for a ...

  3. Fragment总结

    一.总体工程图: 二.main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android& ...

  4. 如何搭建NTP服务(转)

    最近,在搭建Oracle RAC过程中,需要用到DNS和NTP,其中,DNS用于域名.IP管理,NTP用于时间同步.其实,很久以前搭建过这两种服务,但技术,本质上,符合“用进废退”的客观规律.用得越频 ...

  5. switch case语句里面不能定义对象,有语法错误,除非加一个花括号

    最近发现一个问题呢 发现在switch的case里面不能去定义对象了,一定义对象就会报错了 仔细了解了一下在C或者C++中,只要是在任何一对花括号 “{ }”中定义的对象,那么该对象的作用域就局限在这 ...

  6. CC++刚開始学习的人编程教程(9) Windows8.1安装VS2013并捆绑QT与编程助手

    我们在Windows8.1安装VS2013并捆绑QT与编程助手须要下列文件. 2. 在虚拟机中开启Windows8.1 3.然后选择VS2013的安装镜像. 4.将镜像拷贝到虚拟机. 5.我们装载这个 ...

  7. poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS (母函数)

    /* 给出一个数n,把它拆分成若干个数的和,要求最大的数在中间并向两边非递增.问拆法有多少种. 母函数.枚举中间的那一个数.由于左右对称.所以仅仅须要求左边部分的方案就可以. 注意,左右两部分的取数必 ...

  8. HTML5游戏开发进阶指南

    <HTML5游戏开发进阶指南> 基本信息 作者: (印)香卡(Shankar,A.R.)    译者: 谢光磊 出版社:电子工业出版社 ISBN:9787121212260 上架时间:20 ...

  9. java參数传递方式问题

    java的參数传递方式到底是值传递还是引用传递,这一直是一个争论不休的问题,一直以来没有形成统一意见. 在这里,我也仅仅是说一说个人见解,不保证是对的,全当是抛砖引玉. 首先我的观点是java採用的是 ...

  10. HDU2037 今年暑假不AC 【贪心】

    今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...