
我在 AWS 中建立了 2 個 EC2 執行個體。
一台充當資料庫伺服器,一台充當客戶端。
Oracle 12c 資料庫執行個體安裝在資料庫伺服器上,Oracle 12c 即時用戶端安裝在用戶端伺服器上。
我創建了一個架構,在其中添加了一些表和數據,然後導出了資料庫轉儲和日誌。
我能夠透過 Oracle 用戶端伺服器的 sys 使用者連接到 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 目的,因為資料庫伺服器中的空間較少,無法將資料庫轉儲檔案傳送到資料庫伺服器,因為它很大。請不要對問題投下反對票。我搜尋了很多論壇,但沒有提到這一點。
答案1
始終是dumpdir
從資料庫(伺服器)的角度創建的。您的impdp
命令使用此目錄。這最好的方法是在客戶端上建立指向目標目錄的鏈接,或安裝共用或您喜歡的任何方式。然後使用類似CREATE OR REPLACE DIRECTORY dumpdir AS '/mount/dump_directory_on_client/';
或 的命令在 Oracle 中建立目錄CREATE OR REPLACE DIRECTORY dumpdir AS '\\client\dumpdir';
(例如,對於 Windows)並再次開始匯入。