goldengate同步中更改資料表結構維護

db_wjw發表於2012-12-06

更改資料表結構維護:

1、檢視重啟抽取程式需要的最早的日誌檔案是否存在
GGSCI (dbbak) 2> info extlis, showch
Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
    Thread #: 1
    Sequence #: 221
    RBA: 137442320
    Timestamp: 2012-12-06 14:31:45.000000
    SCN: 0.977191846 (977191846)
    Redo File: /ywlog/lis/redo02a.log
可以看到需要的日誌的Sequence為221,一般應該為聯機日誌檔案,如果抽取程式滯後,則應該為歸檔日誌檔案,如果該日誌不存在則抽取程式停了以後無法重啟

2、停止抽取程式和複製程式
GGSCI (dbbak) 4> stop extlis
GGSCI (dbbak) 8> stop dpelis
GGSCI (zdbakapp) 5> stop replis

3、修改目標表欄位長度和源表欄位長度
alter table lbedoritem modify standbyflag3 varchar2(1000);
源和目標都要執行

4、檢視錶是否有主鍵
select constraint_name,constraint_type from dba_constraints where wner='LIS' and table_name= 'LBEDORITEM' and constraint_type='P';
如果表有主鍵,並且本次修改未修改主鍵,則可以直接啟動源和目標所有程式繼續複製,完成本次修改;否則,如果表無主鍵或者本次修改了主鍵則需繼續執行下列步驟:
GGSCI> dblogin userid goldengate password goldengate
GGSCI> delete trandata lis.lbedoritem;
GGSCI> add trandata lis.lbedoritem;

5、重新啟動源和目標端程式:
GGSCI (dbbak) 13> start extlis
GGSCI (dbbak) 14> start dpelis
GGSCI (zdbakapp) 8> start replis



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26194851/viewspace-750667/,如需轉載,請註明出處,否則將追究法律責任。

相關文章