【www.bbyears.com--php与数据库】
使用expdp时,遇到”ORA-39002、ORA-39070......”连续报错。
1、 遇到的问题
C:\Users\Administrator>expdp'sys/system as sysdba'directory=backupfull=y dumpfile=fullexp.dmp logfile=fullexp.log;
Export: Release 10.2.0.3.0 - ProductiononWednesday, 18 April, 2012 12:13:15
Copyright (c) 2003, 2005, Oracle.Allrights reserved.
Connectedto: OracleDatabase10g Enterprise Edition Release 10.2.0.3.0 - Production
Withthe Partitioning, OLAPandData Mining options
ORA-39002: invalid operation
ORA-39070: Unabletoopenthe log file.
ORA-29283: invalid file operation
ORA-06512:at"SYS.UTL_FILE", line 475
ORA-29283: invalid file operation
2、 问题解决
Google了一下,发现了问题原因:
(1)、查看directory 对象
SYS@ tsid > select * from dba_directories;
OWNER DIRECTORY_NAME DIRECTORY_PATH
----- ------------------------- ------------------
SYS BACKUP E:\oradata\backup
而操作系统上,E:\oradata下,没有backup目录。因为目录不存在,所以会出现” ORA-39070: Unable to open the log file.”错误。
(2)、创建”E:\oradata\backup”目录,或者修改directory 对象,问题解决。
3、导致问题出现的潜在原因。
Oracle 10g 下创建directory对象,即使所引用的目录不存在,该命令也可以正常执行,这样就容易造成这样的错误。