我現在手上有個專案,做資料的遷移,要求是將資料庫A的資料遷移到資料庫B中去。
現在大狀況如下:
1) A中的表結構和B中的表結構大致相同,但略有差異,如A中有某些欄位B中沒有,A中欄位結構為Number,B中變為VARCHAR。
2) 資料量也比較大,每張表少的有100萬,多的有上千萬。而且有些BLOB存盤的還是附件檔案。
3) 兩個資料庫肯定不在一臺server上,是跨互聯網的。
請問前輩能否給點建議,我用Oracle代碼做還是用JAVA 做?要求如下:
1) 保證資料的完整性,資料不能丟。
2)效率不能太低。
3)盡量考慮操作的簡便性。因為我是給客戶提供代碼,讓他們自己去操作。
uj5u.com熱心網友回復:
1,使用存盤程序insert into插入(建議這種操作,雖然可能速度慢了點,但是比較靈活,比如說主鍵沖突可以把資料插入到一張備份表記錄等等)2,使用exp匯入
匯入前需分析2個庫表的差異并在本地測驗,然后把庫A,EXP到庫B的局域網中去,互聯網操作速度慢不太穩定
uj5u.com熱心網友回復:
考慮資料量和業務的持續性。如果可暫停,可考慮用expdp匯出匯入或用rman備份再恢復
uj5u.com熱心網友回復:
先把源庫備份,在目標庫的同網段恢復,再通過 dblink 方式做同步。insert select 方式實作就可以的;uj5u.com熱心網友回復:
plsql有個功能 可以對比AB兩個的差異差異找出來了可以先imp 然后額外處理差異的表資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/116436.html
標籤:高級技術
