從the documentation:
ORA-39088:文件名不能包含路徑規範
原因:轉儲文件的名稱,日誌文件,或SQL文件包含一個路徑規範。
行動:使用目錄對象的名稱,表示該文件應該被保存。
這表明您顯示爲DUMPFILE=db.dmp
的參數確實類似於DUMPFILE=C:\some\dir\path\db.dmp
,這是不允許的。您必須使用數據庫識別的目錄,並使用DIRECTORY
參數進行指定。
由於從該目錄參數鏈接@ruffin筆記,你可以把轉儲文件在默認目錄DATA_PUMP_DIR
,您可以從dba_directories
視圖中找到,或者,如果您有權使用該對象時,all_directories
視圖。您正在導入的用戶必須已被授予讀寫權限才能使用它。您還需要能夠將轉儲文件移動到操作系統目錄中,因此權限也可能成爲問題。
如果您沒有合適的具有數據庫權限和操作系統訪問權限的目錄對象,則需要創建一個並授予適當的權限。這需要由人來完成的適當權限,通常爲SYS
:
create directory my_data_pump_dir as 'C:\some\dir\path';
grant read, write on directory my_data_pump_dir to <username>;
然後導入修改有:
... DUMPFILE=db.dmp DIRECTORY=my_data_pump_dir
注意,操作系統目錄必須是可用到數據庫服務器上的Oracle用戶帳戶(正在運行數據庫進程的人員,pmon
等)。除非本地目錄以某種方式安裝在遠程服務器上,否則無法使用本地文件導入到遠程數據庫。舊的imp
命令是一個客戶端應用程序,通常在服務器上運行,但不必; impdp
是一個服務器端應用程序。
你沒有一個'directory'參數,那麼您的實際命令試圖給的完整路徑,其中'db.dmp'文件所在?如果屏蔽該問題,更改發佈命令中的詳細信息並不總是有幫助的。 – 2012-02-13 09:07:17