当前位置: 首页 > 数据库 > oracle >

GoldenGate字段和数据筛选

GoldenGate中字段的筛选一般都在TABLE参数中配置(目标端是在MAP参数)。一般推荐在源端extract进程配置文件中配置,这样可以有效得减小trail文件的大小,减小网络负载。以下是一些筛选配置例子(只列出配置文件的TABLE参数部分)。

 

(1)字段筛选:

/***

table ddw.aatest,

FETCHCOLS (id, name, type1, sell_date,value1);   --表明只提取这些字段

***/

 

使用指定字段做主键:

/***

table ddw.aatest,

KEYCOLS (client_taq, id);

***/

 

(2)数据过滤:

使用WHERE条件:

/***

table ddw.aatest, where (type1 ="1" AND type2 = "2"); --表明只提取表中type1=’1并type2=’2’的记录

***/

 

如下提取非NULL值:

/***

table ddw.aatest, where (value <> @NULL);

***/

 

使用FILTER参数:

/***

table ddw.aatest,FILTER((num1*num2)>1000);

***/

 

与WHERE条件不同的是,FILTER只能后面数字,字符型需要转换后才可以使用,如:

/***

table ddw.aatest, FILTER (@STRFIND(NAME,"JOE") > 0).

***/

 

FILTER参数的优势是还可以指定只在某种DML操作下才过滤,比如:

/***

table ddw.aatest, FILTER((ON UPDATE, ON DELETE, (num1*num2)>1000);

--只在UPDATE和DELETE操作时过滤num1*num2不大于1000的值

***/

原博客 https://blog.51cto.com/369258/1353254

------分隔线----------------------------