使用EXPDP IMPDP傳輸不同資料庫的不同表空間(新增網路傳輸)

shilei1發表於2013-07-07

  expdp/impdp和exp/imp差別還是不小的。其中顯著的提高了效率,精度大大細化是比較明顯的地方。

  原來我們匯入時候設定這幾個常用的 owner fromuser,touser咋一看好像都沒了。其實都保留了。

 下面的例子:

      expdp system/xxxx DUMPFILE=testxp.dmp schemas=simpreal

      impdp system/xxx DUMPFILE=testexp.dmp  remap_schema=simpreal:simptest remap_tablespace=simpreal:simptest   logfile=123.log

如果不使用預設的data_dump_dir引數所設定的資料夾 也可以建立一個directory 物件後 使用directory=物件名,dumpfile=xxx.dmp

並且remap_schema中新使用者最好不建立否則會報錯(雖然沒影響)

等同於以前imp/exp的:

     exp system/xxx file=testxp.dmp wner=simpreal

     imp system/xxx file=testxp.dmp fromuser=simpreal touser=simptest  log=123.log

更強悍的地方在於:

  新方法連續指定了:從舊方案到新方案,從舊錶空間到新表空間

    老方法必須設定一些引數來達到此目的。

參考此文章:

下列場景經常出現:A資料庫安裝在機器A,B資料庫安裝在機器B,我們需要把A資料庫的某些資料同步到B資料庫上,這個時候如果使用匯入匯出,原先的做法是:在A資料庫上exp出dmp檔案,在B資料庫上使用IMP匯入。這樣免不了需要透過網路傳輸複製dmp檔案,往往一個dmp檔案高達幾G甚至更大,這樣就要消耗很多時間。

新一代匯入匯出工具DMPDP/IMPDP徹底解決了這個問題--使用network_link引數

首先要先建立一個dblink連線你要匯出的資料庫----這樣你能在本地擁有一份遠端dmp檔案。

create database link YOURDBLINK  connect to user identified by pwd
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )';
然後檢查下這個dblink :select * from all_db_links;
開始匯出:

expdp system/system network_link=SIMPREAL directory=DUMP_DIR dumpfile=pijumenu.dmp version=11.1.0.6.0 logfile=piju.log tables=simpreal.tsysmen

上面的例子是匯出某個表的,注意這個tables引數和schema引數只能2選1. 加version是因為從高版本匯入到低版本。

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

相關文章