一次艱難的oracle資料遷移

fei890910發表於2016-05-20
簡介
最近領導安排一個任務,需要將備庫上的兩個賬號下的所有表,遷移到測試庫上,用來搭建一個測試庫。
源庫    系統版本aix6.1     oracle 11.1
目標庫  系統版本rehat6.5 oracle 11.2.0.4

實施過程
一、對於a使用者和b使用者下的大部分表,都是透過impdp+dblink 的方式實現了遷移

二、一張接近500G分割槽表
這張表是一張list分割槽表,300多個分割槽,資料量也非常的龐大十三億條資料,這張表沒有使用impdp+dblink的方式進行遷移。主要原因是資料量大impdp效率非常低下。所以最後使用的是insert select@db_link 的方式直接按分割槽進行插入,將索引主鍵刪除後,倒入的效率還是可以接受的。一千萬的分割槽基本在十分鐘以內完成。

三、一張照片表10t左右
這張表也是一張list分割槽的表,300多個分割槽,資料量也是13億條,但是表中存在lob欄位用來存放照片。
1,使用impdp+dblink的方式來倒入。源端的資料庫版本是11.1的,目標段的資料庫版本是11.2.0.4的,這樣的方法不支援分割槽倒入。而整表倒入,由於資料量大幾乎不可能。如果兩個版本都是11.2的資料庫是可以實現分割槽倒入的,以前做過。
2,使用exp和imp的方式倒入,在目標段建立一個5t的檔案系統來臨時存放資料,透過exp@tns的方式來按分割槽匯出資料,但是由於測試庫的oracle版本高於源庫,exp不支援。同樣失敗。
3,使用nfs的方式將測試段的5t檔案系統,共享到源端。在本地匯出。目標端倒入。這個方式匯出的時候正常 ,倒入報錯,還未找到原因。
4,還有什麼更好的方法嗎,求!!                                       




                                                                                                           

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

相關文章