构造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. [SVN]常见问题的解决方案

    Date:2014-1-3 Summary: SVN使用的一些常见问题解决方案记录,来源Internet,本人亲测 Contents: 1.回滚自己的分支到某一个版本 $svn merge -r rH ...

  2. The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar

    出现 The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the j ...

  3. Oracle 调用存储过程执行CRUD的小DEMO

    -----------------------------修改(表名,主键ID,要修改的列) create or replace procedure pro_code_edit(p_tbname in ...

  4. Oracle Client: TNS: Connect timeout ocurred.

    1. 检查Oracle Server 的防火墙是否关闭. 2. Client, Server 重启.

  5. FZU2176(二维线段树+dfs)

    传送门:easy problem 题意:给定一棵n个节点以1为根的树,初始每个节点的值为0,现在我们要在树上进行一些操作,操作有两种类型. 1 x val 表示对以x为根的子树的每个点进行加权操作(我 ...

  6. poj3140(树的dfs)

    题目链接:http://poj.org/problem?id=3140 题意:给定一棵n棵节点的树,求删去某条边后两个分支的最小差异值. 分析:num[u]表示以u点为根节点的子树的总人数,那么不在该 ...

  7. 怎样改动SVN的地址

    改动svn地址的目的有两个,一个是更改默认svn路径.还有一个就是svn库server迁移了. 我碰到的是另外一种情况,SVN的IP地址改了,须要这么切换: 在本地配置库副本根文件夹点击鼠标右键--& ...

  8. VS2010添加默认路径,库以及Lib

    下面以OpenCV为例,不需要每次打开VS2010都手动添加OpenCV的库和lib,具体方法如下: VC++目录 步骤一:用任意文本编辑器打开:  VS安装目录中的\VC\VCWizards\def ...

  9. C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装

    原文:C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装 要求: JDK.Mysql.Tomcat三者制作成一个安装包, 不能单独安装,安装过程不显示三者的界面, 安装完成要配置 ...

  10. nginx subrequest演示示例程序

    只有简单subrequest应用演示示例. nginx.conf文件: #user nobody; worker_processes 1; #error_log logs/error.log; #er ...