Database

使用 impdp 從不同的伺服器恢復 Oracle 12c 模式

  • March 2, 2018

我在 AWS 中創建了 2 個 EC2 實例。

一個充當數據庫伺服器,一個充當客戶端。

Oracle 12c 數據庫實例安裝在數據庫伺服器上,Oracle 12c 即時客戶端安裝在客戶端伺服器上。

我創建了一個模式,在其中添加了一些表和數據,然後我導出了數據庫轉儲和日誌。

我可以通過 sys 使用者從 Oracle 客戶端伺服器連接到 Oracle 伺服器。

我已將導出的數據庫轉儲(使用 expdp 命令)和日誌傳輸到客戶端伺服器。

我正在嘗試使用 impdp 命令從客戶端伺服器導入導出的數據庫轉儲。

create directory dumpdir as '/home/oracle/exportDB';
impdp smithj/pwd4smithj@newdevdb schemas=smithj directory=dumpdir dumpfile=smithj.dmp logfile=expdpsmithj.log

但我不知道如何將本地伺服器(客戶端伺服器)路徑作為目錄。

當我嘗試添加一個虛擬目錄時,它說路徑不存在。

此路徑 /home/oracle/exportDB 位於客戶端伺服器中。

你能給我建議嗎,因為我沒有選擇。

PS:我這樣做是出於 POC 的目的,因為數據庫伺服器中的空間較小並且無法將數據庫轉儲文件發送到數據庫伺服器,因為它很大。請不要拒絕投票問題。我搜尋了很多論壇,沒有提到這個。

dumpdir總是從數據庫(伺服器)的角度創建的。您的impdp命令使用此目錄。最好的方法是在客戶端上創建一個指向目標目錄的連結,或者掛載一個共享或者你喜歡的任何東西。然後在 Oracle 中使用CREATE OR REPLACE DIRECTORY dumpdir AS '/mount/dump_directory_on_client/';CREATE OR REPLACE DIRECTORY dumpdir AS '\\client\dumpdir';(例如對於 Windows)創建目錄並再次開始導入。

引用自:https://serverfault.com/questions/899623