2014-03-31 83 views
1

我想將位於一臺服務器上的數據庫中的表導出到位於另一臺服務器上的另一個數據庫。將表從一個數據庫導出到另一個服務器上的另一個數據庫

這裏是我的設置:

  1. 的Oracle 11g數據庫:[email protected]
  2. 的Oracle 11g XE:[email protected]

,我發現用來命令出口/進口表在同一個數據庫內:

expdp user/password dumpfile=hr.dmp directory=dmpdir schemas=hr logfile= 
hr_exp.log 

impdp user/password dumpfile=hr.dmp directory=dmpdir schemas=hr logfile=hr_imp.log 

任何想法或提示如何解決這個問題?

回答

0

Datapump僅用於服務器端工具,這意味着您必須使dumpB可以訪問serverB才能導入的轉儲文件。

  • 做你的expdp在serverA
  • 使用scp(Linux)或複印件(WIN)傳輸轉儲文件到ServerB ServerB上
  • IMPDP

另一種選擇是讓你的目錄 - 對象指向可從serverA和serverB訪問的公共區域。

1

只是爲了補充上述答案,您還可以在目標服務器上使用network_link選項。這將不需要任何目錄訪問,並且將允許通過鏈接在目標服務器上進行導入。

鏈接應該指向源數據庫。

目標DB如果省略表(數據將在該DB進口)

connect user/[email protected] 
CREATE DATABASE LINK sourceHR CONNECT TO hr IDENTIFIED BY hrpassword USING 'tns2source'; 
impdp user/[email protected] network_link=sourceHR tables=<table1>... 

,這將是對源架構中的所有對象的模式級導入。

希望它有幫助!

相關問題