oracle數據庫expdp和ipmdp使用小技巧

今天在使用expdp和ipmdp導入數據是,發現無法成功導入,出現的問題是在olduser用戶中已存在某些表信息、索引信息等數據,執行的命令如下:

    impdp newuser/newuser dumpfile=olduser.dmp 

經過分析判斷,是在導出的庫文件中存儲的用戶名、表空間等信息是olduser,所以在導入的時候olduser用戶用已存在相關表信息,但是我希望導入到newuser用戶中。
經查詢資料發現,在impdp導入數據時,在dumpfile文件中存儲的表空間和用戶名是olduser,而不是我們希望導入到的newuser用戶或者說在命令中輸入的newuser,所以此處我們需要執行:

impdp newuser/newuser dumpfile=olduser.dmp remap_schema=olduser:newuser remap_tablespace=EXAMPLE:newtablespace,EXAMPLE_TMP:newtablespace_tmp;

其中:remap_schema標籤是替換用戶,即新舊用戶的轉換,remap_tablespace是指定新的表空間和歷史表空間信息。
備註:在impdp的過程中會自動創建用戶,所以在使用impdp的時候是不必須創建用戶,如果已經創建好用戶,則會報xxx用戶已經存在,但是不會影響後續數據的導入,但是不創建用戶就執行導入的前提是必須創建好默認的表空間信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章