【问题标题】:How to import dmp file to oracle DB via SqlDeveloper or CMD in windows?如何在 Windows 中通过 SqlDeveloper 或 CMD 将 dmp 文件导入 oracle DB?
【发布时间】:2020-03-19 21:49:56
【问题描述】:

我有一个从不熟悉的数据库导出的 Oracle 转储文件。 我需要在 Windows 中使用 SqlDeveloper 或命令行将其导入我的 Oracle DB。 在 SqlDeveloper 中使用数据泵导入向导时,出现以下错误: ORA-00942: table or view does not exist

使用 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

我尝试了不同的变体,但每次都出现相同的错误。

感谢您的帮助。

【问题讨论】:

    标签: oracle import impdp oracle-dump


    【解决方案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\';

    然后添加目录并从文件参数中删除路径。

    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

    【讨论】:

    • 试过了,现在出现这个错误:ORA-39002:无效操作 ORA-39166:找不到对象 SYSTEM.ALL 或无法导出或导入。
    • 现在,您似乎遇到了权限问题。导出的对象是谁,导入的对象是谁?
    • 谢谢克里斯,导出的用户不是来自我的数据库,我对此不太了解。进行导入的用户只是我认为拥有所有权限的 SYSTEM 用户,但可能是错误的......我们能做些什么来解决这个问题?
    • 我认为您需要从上面的 impdp 脚本中删除“TABLES=All”参数。
    • 也感谢 ultddave,在这样做并为我的用户运行特定授权之后,我能够导入数据库。
    猜你喜欢
    • 2022-10-24
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 2018-07-02
    • 2011-11-20
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    相关资源
    最近更新 更多