在源端撤銷最近的DML/DDL操作,使兩邊數據同步
讓源端和目標端的數據回到相同的起點,可以在源端撤銷最近的ddl或者dml操作,或者在目標端增加與源端相同的ddl、dml操作。總之隻要能達到讓源端和目標端的數據狀態一致即可。
在源端關閉兩個進程,刪除隊列
停止exta和dpea進程:
GGSCI (http://edsir1p8.us.oracle.com) 21> stop exta
GGSCI (http://edsir1p8.us.oracle.com) 21> stop dpea
刪除源端抽取隊列:
GGSCI >delete exttrail /home/oracle/software/Goldengate/dirdat/ra
[oracle@edsir1p8-PROD4 dirdat]$ cd /home/oracle/software/Goldengate/dirdat
[oracle@edsir1p8-PROD4 dirdat]$ rm -rf ra*
重新為兩個進程指定隊列
add exttrail /home/oracle/software/Goldengate/dirdat/ra,ext exta,MEGABYTES 20
add rmttrail /home/oracle/software/Goldengate/dirdat/ra,ext dpea,MEGABYTES 20
在目標端關閉,刪除repa進程
GGSCI (http://edsir4p1.us.oracle.com) 149> stop repa
GGSCI (http://edsir4p1.us.oracle.com) 149> delete rep repa
[oracle@edsir4p1-CPROD4 ~]$ cd /home/oracle/software/Goldengate/dirdat
[oracle@edsir4p1-CPROD4 dirdat]$ rm -rf ra*
4f411a2faa06b85b3fba2534e69e3aa3
重新創建repa進程
【文章同步發佈於漫兮網:http://www.manxinet.com】
創建repa進程:
GGSCI>add rep repa, exttrail /home/oracle/software/Goldengate/dirdat/ra,nodbcheckpoint
檢查repa進程參數文件:
GGSCI (http://edsir4p1.us.oracle.com) 151> edit param repa
a4c169aa8a30301e435a45b76a15b0ed
repa進程原來的參數文件應該還在,之前的操作沒有對repa進程的參數文件做任何的改動,確認一遍repa進程的參數文件配置是否正確。
按順序啟動相關進程
先啟動exta進程:
GGSCI (http://edsir1p8.us.oracle.com) 22> start exta
啟動該進程的過程中創建瞭源端抽取隊列:
137上:/home/oracle/software/Goldengate/dirdat/ra
再啟動repa進程:
GGSCI (http://edsir4p1.us.oracle.com) 151> start repa
啟動該進程的過程中創建瞭目標端本地抽取隊列:
138上:/home/oracle/software/Goldengate/dirdat/ra
最後啟動dpea進程:
GGSCI (http://edsir1p8.us.oracle.com) 22> start dpea
啟動該進程的過程中不創建任何隊列,隻校驗隊列文件。
防止目標端repa進程意外終止
修改目標端repa進程的參數文件:
修改行:reperror default,abend 為reperror default,discard
修改完成後repa進程參數文件截圖如下:
修改該行的作用是:如果有error出現默認把錯誤輸出到discardfile參數所指定的文件中,即文件/home/oracle/software/Goldengate/dirrpt/repa.dsc中如果不修改該行默認是如果有error發生,repa進程就會變為abend狀態,即進程掛死。一旦repa進程掛死說明數據同步失敗,目前最有效的解決repa進程掛死的方法就是重建repa進程,相當費勁!所以該行修改必須配置。
【文章同步發佈於漫兮網:http://www.manxinet.com】