goldengate個別表的重新初始化十大步驟

2022-04-09 10:58:27 字數 1939 閱讀 8448

表的重新再同步(無需生產端時間視窗)

如果是某些表由於各種原因造成兩邊資料不一致,需要重新進行同步,但實際業務始終24小時可用,不能提供時間視窗,則可以參照以下步驟。(因較為複雜,使用需謹慎!)

列出需要重新初始化的表和當時exclude的原因(檢查下面兩個地方):

生產端抽取程序exclude表                  

容災端複製程序中exclude表

1) 確認ext/dpe/rep程序均無較大延遲,否則等待追平再執行操作;

2) 停止目標端的rep程序;(如時間要求嚴格,可放到後面)

注意:步驟3-6為將源端資料通過exp/imp匯入到目標端,客戶也可以選擇其它初始化方式,比如expdp/impdp。

3) 在源端獲得當前的scn號。例如:

export oracle_sid=***(無單機多例項的無需做)

select dbms_flashback.get_system_change_number from dual;

get_system_change_number

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

10144674732950

以下以獲得的scn號為10144674732950為例

4) 在源端使用exp匯出所需重新初始化的表或者幾張表資料,並且指定到剛才記下的scn號。         

exp匯出

確認在源端

確認oracle_sid正確

需要sysem使用者,可以不用grant execute flashback to user,system密碼******

export oracle_sid=***(無單機多例項的無需做)

exp system/****** tables=scott.t9 file=/home/oracle/scott_t9_1.dmp grants=n statistics=none triggers=n compress=n flashback_scn=10144674732950 log=/home/oracle/scott_t9_1.log;

5) 通過sftp傳輸到目標端;

6) 在目標端,使用imp匯入資料;

確認在目標端

確認oracle_sid正確

用system使用者,

export oracle_sid=***(無單機多例項的無需做)

truncate table scott.t9    刪除記錄

[oracle@localhost ~]$ imp system/oracle file=/home/oracle/scott_t9_1.dmp fromuser=scott touser=scott ignore=y log=/home/oracle/scott_t9_imp_1.log ;

特別注意:上面imp語句中沒有使用commit=y的引數,如果對大表進行imp操作應該使用commit=y引數(資料分批量提交),原因:如果匯入執行很長時間,imp操作被中斷(好在是容災端匯入,不會有對業務系統產生很大壓力),這個中斷將導致這個大事物的回滾;回滾會占用更多時間(影響啟動複製程序的時間);或者直接採用資料幫浦的方式匯出匯入(資料幫浦預設不需要commit引數);

7) 如果這些表有外來鍵,在目標端檢查這些外來鍵並禁止它們(記得維護dirsql下的禁止和啟用外來鍵的指令碼sql);

確認有無外來鍵,執行指令碼禁用外來鍵

確認在目標端

確認oracle_sid正確

map source.mytab, target target.mytab, filter ( @getenv ("transaction", "csn") >     10144674732950 ) ;

9) 確認引數無誤後,啟動目標端的rep程序;

10) 使用info repxx或者lag repxx直到該程序追上,停止該程序去掉filter即可進入正常複製。(去掉filter時間待定,因scn一直增大,不受影響)

作者「andrew的未來之路」

GoldenGate故障處理 表空間不足

今天接到客戶的服務情求,他們的goldengate複製出現故障,我覺得他們的問題挺有代表性,於是拿出來給大家分析一下。錯誤描述 資料投遞程序abend,在日誌報告中的錯誤提示如下 2010 02 01 17 19 18 ggs error 103 discard file dirrpt rep1.d...

使用merge into 來更新目標表的個別字段

更新職業 5s merge into cr gr x using select b.custid,c.new grbh,b.occupation 職業 nvl d.new bm,90 new occupation 新職業 from cm002 to db2 bleft join scdy grzhb...

了解GoldenGate中LAG的含義

當extract程序在讀取redolog並寫出到trail或remote host 當額外的datapump在讀取extract trail並通過網路寫出到遠端節點remote host 當collector在目標伺服器上接受網路資料並寫出到local trail 當replicat讀取local ...