我使用数据泵对4个.dmp文件执行导入,并继续接收以下错误集:
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我是神谕新手,找不到有用的解决方案。
虽然我使用的是oracle12c,但我正在执行这里中的导入。
我在windows命令中运行的命令如下所示:
impdp user/pass@db_name directory=DUMP_DIR dimpfile="file_name.dmp" schemas=schema_name content=all parallel=4DUMP_DIR是在oracle中创建的,并授予了适当的特权。
我还运行了以下命令
... logfile=file_name.log最后添加,但我不确定日志文件是创建的还是保存在哪里的。
我已经找到了这 --除了在导出和linux上,它几乎是相同的一组错误。在答案的末尾有一句话‘如果我们在Windows机器上,那么我们需要确保监听器和数据库都是以完全相同的方式启动的。’这对进口有用吗?如果是的话-这到底是什么意思?
发布于 2018-06-18 14:22:07
还有这是一个简短的回答,它基本上是“数据库无法写入日志文件位置”。
上面的链接提供了一个简单的测试来解决这个问题。
declare
f utl_file.file_type;
begin
f := utl_file.fopen ('DUMP_DIR', 'test.txt', 'w');
utl_file.put_line(f, 'test');
utl_file.fclose(f);
end;
/如果失败,Oracle根本无法写入该目录,可能是因为Windows文件权限。检查Oracle服务正在以哪个用户的身份运行,并更改文件夹权限以允许他们写入访问权限。
如果这有效的话,这是一个特定的问题。您可以尝试更改命令字符串--一种选择可能是将日志文件具体地写入不同的logfile=DATA_PUMP_DIR:file_name.log目录,例如。
如果这些选项都不起作用,您也可以使用NOLOGFILE=Y完全禁用日志文件,但是您必须监视控制台上的impdp输出,因为它不会保存在其他任何地方。
发布于 2019-01-31 22:12:00
您遇到的问题是,无法将您指定的写入目录(DUMP_DIR)。在Windows 10中,它的行为是不可预测的。解决方案
CREATE OR REPLACE DIRECTORY DUMP_DIR_2 AS 'C:\Users\Public\<name>GRANT READ, WRITE ON DIRECTORY DUMP_DIR_2 TO schema_name;发布于 2022-09-14 09:53:23
首先,Oracle拥有写入和读取文件夹的权限,这一点非常重要。如果您已经对此进行了测试,请尝试下面的解决方案:
我也遇到了同样的情况,在我的例子中,命令是:(密码只用于一个实例):
impdp 'sys/passExample as sysdba' directory=C:/oracle/oradata/EXEMPLODB dumpfile=preupd.bak我将preup.bak放入EXEMPLODB文件夹
正确的是用目录的名称更改目录文件夹,正确的命令是:
impdp 'sys/passExample as sysdba' directory=EXT_DATA_FILES dumpfile=preupd.bakEXT_DATA_FILES是我在查询中找到的目录名。
select * from all_directories; 进入系统数据库。
https://stackoverflow.com/questions/50906667
复制相似问题