streams(單向資料同步)的使用的一些體會

logjiang發表於2009-03-24

1:網路環境如果是在兩個WAN網,又在各自的防火牆裡面,在用ping -t的測試的時候要不能經常丟包

2:查服務是否正常dba_capture,dba_propagation,dba_apply

3:檢查正在進行的同步的資料

在源資料庫這邊:查正在處理的流的事務:v$streams_transaction ,如果這個表沒有記錄那說沒有正在進行的事務,如果有記錄,那麼欄位CUMULATIVE_MESSAGE_COUNT ,FIRST_MESSAGE_TIME 的值都會變化

在目標資料庫這邊:查正在處理的流的事務:

檢視v$streams_apply_reader 的欄位DEQUEUED_MESSAGE_CREATE_TIME會慢慢增加, 檢視v$streams_apply_server中的欄位APPLIED_MESSAGE_CREATE_TIME也會增加

4:stream服務對於網路狀況並不敏感,如兩個資料庫不同的網路之間如果經常丟包,如每發20個包丟失一個包的情況下,實際的資料同步是不成功的,可是caputre,propagation還是處在正常的狀態,這樣查問題非常不好查。因此如果網路有不可確定性的因素的話,在沒有修改任何配置的前提下,如果同步出現了問題,優先做的就是網路的測試。當兩邊的網路連線不上的時候,在capture那邊會顯示類同於connecting apply server這樣的資訊

5:一但出現長時間的網路連線不上,不懂用什麼方法才能讓stream恢復正常,我試著重啟過apply,capture,propagation,可是一直沒有正常恢復。只好重啟了源資料庫才能正常,如果只重啟目標資料庫,這個streams服務的資料同步的恢復工作也是不成功的。

[@more@]

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

相關文章