如何從trail 分析重新同步一個表格所需的CSN/ SCN number
Ref:
http://www.itpub.net/thread-1864849-1-1.html
1、 直接新建一個新的replicat複製佇列來同步
這種按照安裝goldengate實施文檔中的創建replicat.
http://www.oracle-home.net/posts/list/89126/1551386.html
2、 在原來的replicat佇列裡面初始化部分表
1. 當replicat異常後,可以先注釋異常的表,然後等待extract 、pump、replicat所有延遲都為0的時候,停止replicat
2. 使用goldengate logdump工具獲得建立在scheckpoint rba上transaction scn
logdump
logdump> open <trailfile>
logdump> ggstokens detail
logdump> pos <replicat_checkpoint_rba>
logdump> n
GGStokens:
TokenIDx52 'R' ORAROWID Info x00 Length 20
4141 4156 5976 4141 4541 4141 4146 3141 41410001 | AAAVYvAAEAAAAF1AAA..
TokenIDx4c 'L' LOGCSN Info x00 Length 7
3139 3635 3636 33 | 1965663 –scn
TokenIDx36 '6' TRANID Info x00 Length 8
382e 342e 3130 3638 | 8.4.1068
3. 使用上面 <SCN-1> 作為源端 expdp的 flashbask_scn,然後使用expdp和impdp配合同步表
4. 例如上面scn為1965663,flashbask_scn here will be 1965662.
如果這個事務已經trailfile結尾了,那麼scn就不要減一了。如果確認是否是結尾了,繼續輸入N回車,如果沒有記錄返回,說明已經到達檔結尾.
5. 啟動impdp導入資料,記得需要清除老的資料.
6.先取消注釋的表,然後啟動replicat.
針對上面的,如果需要重新初始化的表比較大,replicat延遲可能表大,對於不能接受的,可以考慮使用第一種方式,等待2個replicat佇列都同步之後,可以合併2個replicat.
如果想進一步查看更新資訊或者參與主題討論,請登陸
http://www.oracle-home.net/posts/list/89126/1586660.html
沒有留言:
張貼留言