資料泵實現資料遷移到異地庫

regonly1發表於2013-01-08
  
今天發現impdp命令有個特殊的用途,可以將資料庫的一個使用者遷移到另一臺機器上的資料庫的使用者中。如果目標使用者不存在,還可以對應的建立該使用者。
 
下面就來看一下命令格式:
Impdp remap_schema=userA:userB remap_tablespace=tbsA:tbsB network_link=dblink_to_userA_on_userB

說明:
Userid: 。使用者建議為system。
Remap_schema: userA:userB。資料庫使用者對映。
Remap_tablespace: tbsA:tbsB。預設表空間對映。
Schemas: userA。必須是dblink中指定使用者。建議不指定。
Directory: 該種模式下,此引數指定的是日誌檔案的路徑。如果不指定,則路徑預設為data_pump_dir。
Network_link: 在備份庫上建立的連線到目標機的dblink。
 
這樣就能快速的把A庫上的使用者遷移到B庫上。
不過有幾個前提:
1、username:這個操作的資料庫使用者建議是system,如果是其他使用者的話就需要有dba許可權的使用者才能執行;
2、dblink:必須能夠連線到對應庫上的資料庫使用者下。

20160715補充:
今天試驗了下,不僅能按使用者匯入,還能按指定的表匯入,即在原命令列後面加上tables=[table_name],即可。

20170206修正:
impdp命令補充必須的引數(directory=dmp_dir):
Impdp  remap_schema=userA:userB remap_tablespace=tbsA:tbsB network_link=dblink_to_userA_on_userB directory=dmp_dir

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

相關文章