构造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. [C++]new和delete

    Date:2014-1-5 Summary: C++中的动态内存创建与释放(这里就只记录C++中的new和delete了,其他的C风格操作就略过了) 单独记录new和delete的原因是为了学习时候关 ...

  2. 在Windows系统上实现轻量级的线程间及进程间消息队列

    Windows没有message queue累世的IPC内核对象,使得在在处理IPC时少了一种传递消息的手段. 利用Windows的Naming Object可以实现一套简单的Inter-Thread ...

  3. 无需安装Mono的Jexus

    ASP.NET跨平台实践:无需安装Mono的Jexus“独立版”   在Linux上运行ASP.NET网站或WebApi的传统步骤是,先安装libgdiplus,再安装mono,然后安装Jexus.在 ...

  4. c语言太easy笔误的,这将做

    调试发现时间写的一样NB代码 test.c int add(string); int main() { char* p = "11222"; add(p); return 0; } ...

  5. uva10480(最小割)

    传送门:Sabotage 题意:给定多个城市的网络,每个城市之间的通信有花费,要求使得首都和最大城市之间的通信断掉的最小花费.要求输出任意一组砸掉的边. 分析:跑一遍最大流dinic后,根据最小割定理 ...

  6. 在ireport中使用checkbox

    在网上搜索了很多实现checkbox的办法, 主要是利用打钩图片实现. 下面是我的做法,也不怎么高明, 不过比利用图片好. 后台 map.put("lifeTimePartFlag" ...

  7. C#的百度地图开发(二)转换JSON数据为相应的类

    原文:C#的百度地图开发(二)转换JSON数据为相应的类 在<C#的百度地图开发(一)发起HTTP请求>一文中我们向百度提供的API的URL发起请求,并得到了返回的结果,结果是一串JSON ...

  8. 本地或者服务器同时启动2个或多个tomcat

    一,修改配置文件server.xml的端口 C:\apache-tomcat-5.5.23-1\conf\server.xml用记事本什么的打开修改3个地方   第一: <Server port ...

  9. Webserver管理系列:1、安装Windows Server 2008

    简单了解下server: 1U: 2U: 3U: 在安装Windows Server 2008之前我们先了解下Windows Server 2008: Windows Server 2008是微软一个 ...

  10. Lua 与C 交换 第一篇

    编译 windows上编译lua源代码 cl /MD /O2 /W3 /c /DLUA_BUILD_AS_DLL *.c del *.o ren lua.obj lua.o ren luac.obj ...