在同事搭建的数据库上面导入数据时,提示ORA-39087 Unable to open the log file和ORA-39070 directory name DPDATA1 is invalid错误。
[oracle@XLJ181 dump]$ impdp cams_core/123456 dumpfile=BP_VOUCHER_20181016.dmp directory=dpdata1 REMAP_TABLE=BP_VOUCHER:BP_VOUCHER_20181018 logfile=import.log
Import: Release 11.2.0.4.0 - Production on Thu Oct 18 09:59:01 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-39087: directory name DPDATA1 is invalid
查看问题信息
[oracle@XLJ181 dump]$ oerr ORA 39087
39087, 00000, "directory name %s is invalid"
// *Cause: A corresponding directory object does not exist.
// *Action: Correct the directory object parameter, or create a corresponding
// directory object with the CREATE DIRECTORY command.
[oracle@XLJ181 dump]$ oerr ORA 39070
39070, 00000, "Unable to open the log file."
// *Cause: Errors were detecting while opening the log file. Subsequent
// messages will detail the problems.
// *Action: Fix the problems outlined in the secondary messages.
下面是问题分析的思路:
1.首先,检查directory是否已创建
结果是directory已经创建,这里没有问题。
2.然后,检查Linux服务器上是否已创建目录:
检查目录是否存在
显然,目录已经创建。
3.检查是否未赋予directory的读写权限,执行赋权限语句:
grant read,write on directory dpdata1 to public;
再次执行导入语句进行验证:
[oracle@XLJ181 dump]$ impdp cams_core/123456 dumpfile=BP_VOUCHER_20181016.dmp directory=dpdata1 REMAP_TABLE=BP_VOUCHER:BP_VOUCHER_20181018 logfile=import.log
问题顺利解决,数据成功导入。