要求:如何跳過Goldengate中複製(目標系統)的事務oracle
源表包含5列。我們正在複製5個目標中的3列。 SEQ_ID是目標上的附加列。
當對不在目標表中的列執行更新操作時,SEQ_ID增加。 只有在目標上存在的列上執行更新時,SEQ_ID纔會增加。
上選定列(ID,年齡,COL1)要複製啓用無條件補充表級記錄:
來源: 表名:測試1(ID,年齡,COL1,COL2,COL3)
目標: 表名:Test1(ID,AGE,COL1,SEQ_ID)
我們創建了一個序列以在插入或更新發生時遞增SEQ_ID。
場景: 如果插入或更新發生在這些列上的源表(ID,年齡,COL1)SEQ_ID被incresed, 並且如果更新發生在其他列(COL2,COL3)SEQ_ID也越來越增加。
我們的要求是當更新發生在其他列(COL2,COL3)上時,SEQ_ID不應該增加。 我想跳過在列(COL2,COL3)上發生的更新事務。
來源: 初級提取物test_e1 EXTRACT TEST_e1 USERID DBTUAT_GG,PASSWORD dbt_1234 EXTTRAIL/DB_TRACK_GG/GGS/dirdat/DD GETUPDATEBEFORES --IGNOREUPDATES --IGNOREDELETES NOCOMPRESSUPDATES TABLE HARI.TEST1,COLS(ID ,AGE,COL1),FILTER(ON UPDATE,IGNORE UPDATE,@STREQ(USAGEAGE,AGE)= 0);
數據泵test_p1: EXTRACT TEST_P1 USERID DBTUAT_GG,PASSWORD dbt_1234 RMTHOST 10.24.187.235,MGRPORT 7809,
RMTTRAIL/Trail_files/TT --PASSTHRU TABLE DBTUAT_GG.TEST1;
目標: 目標Repicat文件: 編輯PARAM test_r
REPLICAT TEST_R USERID GGPROD,PASSWORD GGPROD_123 SOURCEDEFS ./dirsql/def32.sql HANDLECOLLISIONS IGNOREDELETES INSERTMISSINGUPDATES MAP HARI.TEST1,TARGET哈日TEST1,& SQLEXEC(ID test_num,QUERY「select double GGPROD.test_seq.NEXTVAL test_val」,NOPARAMS),& COLMAP(USEDEFAULTS,SEQ_ID = test_num.test_val);
請提出任何可能的解決方案。