设为首页 加入收藏

TOP

Oracle GoldenGate 四、数据过滤和数据项匹配(二)
2015-11-21 01:37:30 来源: 作者: 【 】 浏览:1
Tags:Oracle GoldenGate 数据 过滤 匹配
* ? ?21 ? ?Character Set
* ? ?22 ? ?Character Length
* ? ?23 ? ?LOB Type
* ? ?24 ? ?Partial Type
这些信息将帮助GoldenGate实现数据类型转换、匹配以及数据处理,比如源端的数据类型长度可能比目标端长,交换时GoldenGate将根据定义文件截取或转换数据。
?
2.2.1 什么时候需要定义文件
当源端和目标端的表结构不相同时
数据库类型不相同时
2.2.2 生成表定义文件
生成表定义文件需要先创建定义配置文件,配置文件中指定定义文件存储路径和文件名(DEFSFILE)、数据库连接信息、需要生成表定义信息的对象(table);最后再根据定义配置文件通过GoldenGate自带的defgen命令生成表定义文件。
创建定义配置文件
?
[oracle@sywu dirdef]$ vim /u01/app/product/ogg_src/dirdef/psydb001.prm
?
?DEFSFILE /u01/app/product/ogg_src/dirdef/psydb001.def, purge
?OBEY /u01/app/product/ogg_src/dirdef/dbConnect.obey
?table OGG_OWNER.STB01;
根据定义配置文件生成定义文件
?
[oracle@sywu ogg_src]$ ./defgen PARAMFILE /u01/app/product/ogg_src/dirdef/psydb001.prm 

***********************************************************************
        Oracle GoldenGate Table Definition Generator for Oracle
     Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1
   Linux, x64, 64bit (optimized), Oracle 11g on Aug  7 2014 05:45:39

Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved.

                    Starting at 2015-09-01 21:49:48
***********************************************************************

Operating System Version:
Linux
Version #1 SMP Thu Jul 31 17:20:51 UTC 2014, Release 2.6.32-431.23.3.el6.x86_64
Node: sywu
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: 7099

***********************************************************************
**            Running with the following parameters                  **
***********************************************************************
DEFSFILE /u01/app/product/ogg_src/dirdef/psydb001.def, purge
userid ogg_owner,password ******************************************************************************** aes128 encryptkey securekey1
table OGG_OWNER.STB01;
Retrieving definition for OGG_OWNER.STB01.

Definitions generated for 1 table in /u01/app/product/ogg_src/dirdef/psydb001.def.

?

2.3 目标端Replicat进程配置源端表定义信息和源端与目标端字段的对照映射
将源端生成的表定义文件发送到目标端,然后在Replicat进程中配置表定义信息;
?
GGSCI (sywu) 9> edit param RSYDB001

REPLICAT rsydb001
SETENV(ORACLE_SID="sydb")
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID ogg_trg,password AADAAAAAAAAAAAHABDQFVJMADCAFECACYEPIQEJCFGDGMDHBRJXCUBOBQJEGLBPEBDMCOAACDILGAJKA  &
aes128,ENCRYPTKEY securekey1
DISCARDFILE /u01/app/product/ogg_trg/discrd/reptr.desc,append,megabytes 512
DECRYPTTRAIL AES128, KEYNAME securekey1
SOURCEDEFS /u01/app/product/ogg_trg/dirdef/psydb001.def
ALLOWNOOPUPDATES
ASSUMETARGETDEFS
MAP OGG_OWNER.TOGG,target OGG_TRG.TOGG;
MAP OGG_OWNER.STB01,target OGG_TRG.TTB01,
COLMAP(TID=SID,
TNAME=SNAME,
TGENDER=SGENDER,
TBRIDATE=SBRIDATE,
TPROVINCE=ADETAIL,
TRANSFERDATE=@DATENOW()
);

?

SOURCEDEFS 定义源端的表结构定义文件信息;
COLMAP 定义源端表和目标表的数据项对照映射;
常用的GoldenGate函数:
?
函数名 说明
@DATE 返回转换日期格式
@DATENOW 返回当前 系统时间
@GETENV 返回GoldenGate环境变量值
@STRFIND 返回指定字符在字符串中的位置
更多的函数说明请参考:GoldenGate官方列转换函数文档
?
2.3 目标端数据库实现省份和城市的数据分拆
因为有些拆分工作涉及复杂的操作,所以拆分字符的工作可以放在数据库的触发器中完成。
?
?
create or replace tri
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇对oracle controlfile进行转储 下一篇JDBCMYSQL学习笔记(一)JDBC基本..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: