我們有一個我們想要導入到Amazon rds服務器的轉儲文件。Oracle數據泵impdp到遠程服務器
這是我做過什麼:
創建公共數據庫鏈接,並驗證它的工作原理:
CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS 'G:\DB';
導入轉儲文件:
create public database link rdsdblink
connect to dbuser identified by dbpsw
using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST='xxx')(PORT=1521)))(CONNECT_DATA=(SID=dbsid)))';
SQL> select * from dual @ rdsdblink;
D
-
X
轉儲文件創建一個目錄:
impdp dbuser/[email protected] tablespaces=EMP directory=DATA_PUMP_DIR dumpfile=EMP_dump.DMP logfile=EMP_dump.log network_link=rdsdblink
我還將rdsdblink連接字符串添加到tnsnames.ora文件並重新啓動Oracle服務(「立即關閉」,然後「啓動」)。
出現下列錯誤:
連接到:Oracle數據庫11g第二版11.2.0.2.0 - 64位生產
ORA-39001:無效的參數值
ORA-39200:鏈接名稱 「rdsdblink」 無效。
ORA-02019:遠程數據庫的連接說明未發現
我的本地Oracle版本: Oracle數據庫11g Express Edition的發佈11.2.0.2.0 - 生產
遠程Oracle版本: Oracle數據庫11g第11.2 .0.2.0 - 64位生產
謝謝我對這個真的很陌生,所以如果我要對遠程運行導入,我該如何指向本地轉儲文件? – Cal
@Cal - 你不能。該文件必須位於您所連接的數據庫實例正在運行的服務器上。它必須在rds服務器上,我想這不是一個選項?否則,您必須將導出和導入作爲一個步驟,沒有中間轉儲文件,並且以另一種方式獲取數據庫鏈接可能會有問題(假設您的偵聽器未接觸到Internet)。 –
感謝您的幫助。我們會盡力找到一種方法來做到這一點。 – Cal