我有一个从不熟悉的数据库中导出的Oracle dmp文件。
我需要使用SqlDeveloper或Windows中的命令行将其导入到我的Oracle DB中。
在SqlDeveloper中使用数据泵导入向导时,出现以下错误:
ORA-00942: table or view does not exists
使用CMD时出现以下错误:
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation
我的命令行:
impdp USER/password DUMPFILE=c:\folder_name\file_name.dmp TABLES=All LOG=dump_log.log
我尝试了不同的变体,每次都出错。
谢谢您的帮助。
答案 0 :(得分:1)
该命令缺少数据库服务器上的目录或正确目录中的文件。缺省值为DATA_PUMP_DIR
,可以从数据库中按如下所述找到它。
SQL> SELECT directory_name, directory_path FROM dba_directories
2 WHERE directory_name='DATA_PUMP_DIR';
DIRECTORY_NAME DIRECTORY_PATH
_________________ _________________________________________________________________
DATA_PUMP_DIR /opt/oracle/admin/ORCL/dpdump/8967C87908440D12E053020011AC6F8A
新建目录:
创建目录MY_DIR AS'c:\ folder_name \';
然后添加目录并从file参数中删除路径。
impdp USER/password directory=MY_DIR DUMPFILE=file_name.dmp TABLES=All LOG=dump_log.log
参考:
IMPDP> https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_import.htm#SUTIL907
创建目录> https://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_5007.htm#SQLRF01207