golendgate(34)--COLMAP source expression

COLMAP source expression

源端表结构:

SQL> desc gis_test.baobao14;

Name     Type         Nullable Default Comments

-------- ------------ -------- ------- --------

PXID     NUMBER                                

FANG     VARCHAR2(10) Y                        

TDD      VARCHAR2(20) Y                        

AWR      VARCHAR2(15) Y                        

TNAME    VARCHAR2(20) Y                        

PHONE_NO NUMBER       Y  

 

目标端表结构:

SQL> desc gis_test.baobao14;

Name         Type         Nullable Default Comments

------------ ------------ -------- ------- --------

PXID         NUMBER                                

FANG         VARCHAR2(10) Y                        

DNAME        VARCHAR2(20) Y                        

AREA_CODE    NUMBER       Y                         

PHONE_PREFIX NUMBER       Y                        

PHONE_NUMBER NUMBER       Y 

 

目标端表列DNAME映射源端表列TNAME,

目标端表列AREA_CODE,PHONE_PREFIX, PHONE_NUMBER映射源端表列PHONE_NO

操作步骤:

1.使用defgen生成源端数据定义文件

略,见本博客另外一篇专门写defgen的文档.

2.使用COLMAP映射列

3.使用@STREXT函数分解列值

 

举例:

抽取进程配置:

EXTRACT s_ex_mid

-- SETENV (NLS_LANG = CHINESE_CHINA.ZHS16GBK)

SETENV (ORACLE_HOME = "/u01/app/oracle/product/11.2.0/dbhome_1")

SETENV (ORACLE_SID = "dbking")

USERID ggs@dbking, PASSWORD ggs

TRANLOGOPTIONS ARCHIVEDLOGONLY

-- TRANLOGOPTIONS ASMUSERsys@asm, ASMPASSWORD grid sysdba

TRANLOGOPTIONS DBLOGREADER

TRANLOGOPTIONS ALTARCHIVELOGDEST INSTANCE dbking /arch/archivelog

TRANLOGOPTIONS DBLOGREADERBUFSIZE 1048576

EXTTRAIL /u01/app/oracle/ggs/dirdat/trail/cc

TABLE gis_test.baobao14, COLSEXCEPT (tdd,awr);

 

投递进程配置:

EXTRACT pump_un

USERID ggs@dbking, PASSWORD ggs

RMTHOST 10.23.5.71, MGRPORT 7809

RMTTRAIL /u01/app/oracle/ggs/dirdat/rtrail/pp

PASSTHRU

TABLE gis_test.baobao14;

 

 

复制进程配置:

REPLICAT rep_li

USERID ggs, PASSWORD ggs

ASSUMETARGETDEFS

DISCARDFILE /u01/app/oracle/ggs/dirrpt/discard/rep.dsc, APPEND

SOURCEDEFS /u01/app/oracle/ggs/dirdef/baobao14.def

-- MAP gis_test.test1, TARGET gis_test.test1 ,FILTER ( @GETENV ("TRANSACTION", "CSN") > 9116587);

MAP gis_test.baobao14, TARGET gis_test.baobao14,

colmap (USEDEFAULTS, dname = tname,

AREA_CODE =

@STREXT (PHONE_NO, 1, 3),

PHONE_PREFIX =

@STREXT (PHONE_NO, 4, 6),

PHONE_NUMBER =

@STREXT (PHONE_NO, 7, 10))

;

-- MAP gis_test.baobao14, TARGET gis_test.baobao14,

-- colmap (

-- pxid=pxid, fang=fang)

-- ;

 

测试数据

源端查看:

 

select * from gis_test.baobao14;

         PXID     FANG   TDD     AWR    TNAME            PHONE_NO

1          18000  sss        mmm  nnn      wangtian         1234567890

2          19000  sss        mmm  nnn      wangtian         1002003000

3          11000  nn        aa        hh                   

4          12000  bb        cc         hh                   

5          13000  bb        cc         hh                   

6          14000  bb        cc         hh                   

7          15000  bb        cc         hh        xiangyang       

8          16000  bb        cc         hh        xiangyang       

9          17000  bb        cc         hh        lixia    

10        1000    a          b          c                     

11        2000    b          c          e                     

12        3000    c          d          f                      

13        4000    d          e          g                     

14        5000    e          e          g                     

15        6000    g          e          g                     

16        7000    f           e          g                     

17        8000    kk         yy         mm                 

18        9000    xx         jj          hh                   

19        10000  uu        jj          hh                   

 

 

目标端查看:

         PXID     FANG   DNAME           AREA_CODE    PHONE_PREFIX           PHONE_NUMBER

1          13000  bb                                           

2          14000  bb                                           

3          17000  bb        lixia                            

4          18000  sss        wangtian         123           456                   7890

5          19000  sss        wangtian         100           200                   3000

6          1000    a                                             

7          2000    b                                             

8          3000    c                                             

9          4000    d                                             

10        5000    e                                             

11        6000    g                                             

12        7000    f                                              

13        8000    kk                                            

14        9000    xx                                            

15        10000  uu                                           

16        11000  nn                                           

17        12000  bb                                           

18        15000  bb        xiangyang                               

19        16000  bb        xiangyang       

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21266384/viewspace-766977/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21266384/viewspace-766977/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值