无法导入.dmp文件:Oracle impdp执行报错求助
Oracle impdp导入失败(ORA-39070/ORA-29283)解决方案
问题场景
已完成以下配置:
- 创建Oracle目录对象:
CREATE DIRECTORY D44 AS 'C:/Users/Siddharth/Oracle_dump_files';
- 为FINANCE9用户授予目录读写权限:
GRANT READ, WRITE ON DIRECTORY D44 TO FINANCE9;
执行impdp导入命令时触发错误:
C:\Users\Siddharth>impdp FINANCE9/FIN123 schemas=FINANCEV1 directory=D44 dumpfile=APD_FY23_Q1_FINAL.DMP REMAP_SCHEMA=FINANCEV1:FINANCE9 logfile=APD_FY23_Q1_FINAL.log
错误输出:
Import: Release 12.2.0.1.0 - Production on Mon Feb 27 17:12:23 2023
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-29283: invalid file operation
排查与解决步骤
- 检查数据库服务的操作系统权限:Oracle数据库服务对应的系统用户(Windows下通常为
OracleService<你的SID>)需要对C:/Users/Siddharth/Oracle_dump_files目录拥有读写权限。操作方式:右键目录→属性→安全→添加数据库服务用户,赋予「完全控制」或「读写」权限。 - 验证目录对象的路径一致性:执行以下SQL确认目录对象指向的路径与实际目录完全匹配:
SELECT directory_name, directory_path FROM all_directories WHERE directory_name = 'D44';
同时确认C:/Users/Siddharth/Oracle_dump_files目录真实存在,路径无特殊字符或未转义的空格。
- 确认用户权限生效:重新执行授权语句(确保权限正确应用),并验证FINANCE9用户的权限:
GRANT READ, WRITE ON DIRECTORY D44 TO FINANCE9; COMMIT;
SELECT privilege FROM user_tab_privs WHERE table_name = 'D44';
查询结果应包含READ和WRITE权限。
- 检查dump文件的可访问性:确认
APD_FY23_Q1_FINAL.DMP文件存在于C:/Users/Siddharth/Oracle_dump_files目录中,且数据库服务用户能读取该文件。 - 以管理员身份执行impdp命令:右键命令提示符→选择「以管理员身份运行」,再重新执行导入命令,避免系统级权限限制。
内容的提问来源于stack exchange,提问作者Siddharth Kumar
相关产品推荐
相关产品推荐

