您好,欢迎访问一九零五行业门户网

defgen工具使用

配置defgen文件因为 oracle 和 sql server 中的数据类型不同,所以您必须建立数据类型转换。goldengate 提供了一个名为 defgen 的专用工具,用于生成数据定义,当源表和目标表中的定义不同时,oracle goldengate 进程将引用该专用工具。在运行 defgen 之前,
配置defgen文件因为 oracle 和 sql server 中的数据类型不同,所以您必须建立数据类型转换。goldengate 提供了一个名为 defgen 的专用工具,用于生成数据定义,当源表和目标表中的定义不同时,oracle goldengate 进程将引用该专用工具。在运行 defgen 之前,需要为其创建一个参数文件,指定该工具应检查哪些表以及在检查表之后存放类型定义文件的位置。可以在 ggsci 内使用 edit params 命令创建这样一个参数文件。
cd $ggs_home/dirprm && vi defgen.prmdefsfile ./dirdef/defgen.def purgeuserid ggmgr,password oracletable ggmgr.t1; #这里必须有分号
purge(默认)与append选一个,append就是往已经存在的同名的定义文件追加内容,purge是先清空。
执行defgen命令cd $ggs_home && ./defgen paramfile ./dirprm/defgen.prm 执行之前,如果已经有同名的defgen文件,会报错,所以得先删除。 上面命令,首先我们编辑一个包含登陆源库用户名密码,要解析哪些表结构,以及要在哪里生成这个解析后的定义文件的参数文件。然后我们利用这个参数文件,结合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:linuxversion #1 smp wed jul 27 21:02:33 edt 2011, release 2.6.32-200.13.1.el5ueknode: erpp1.dji.commachine: x86_64 soft limit hard limitaddress space size : unlimited unlimitedheap size : unlimited unlimitedfile size : unlimited unlimitedcpu time : unlimited unlimitedprocess id: 22698************************************************************************* running with the following parameters *************************************************************************defsfile ./dirdef/defgen.defuserid ggmgr,password ******table ggmgr.t1;retrieving definition for ggmgr.t1definitions 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: oraclecharacter set id: utf-8national character set id: utf-16locale: neutralcase sensitivity: 14 14 14 14 14 14 14 14 14 14 14 14 11 14 14 14*definition for table ggmgr.t1record length: 56syskey: 0columns: 1id 64 50 0 0 0 1 0 50 50 50 0 0 0 0 1 0 1 2end of definition
其它类似信息

推荐信息