gpt4 book ai didi

oracle - 导入 Oracle 备份时出错

转载 作者:行者123 更新时间:2023-12-04 19:01:37 25 4
gpt4 key购买 nike

我创建了一个目录:
SQL> create or replace directory dir as '/home/oracle12c/Desktop/latest_exp.dmp';
我正在尝试以 sysdba 的身份运行导入:

impdp \'/as sysdba\' full=Y directory=dir dumpfile=importDump.dmp logfile=import.log;

我收到这些错误:
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics, and Real Application Testing options
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

据我从搜索结果中可以看出,这与权限有关。 Oracle 用户应该拥有这些文件。
我尝试导入的文件的权限如下所示:
-rw-r--r-- 1 oracle12c root 2201247744 Feb 21 16:51 latest_exp.dmp

我的问题是什么,我该如何克服?文件属主是oracle12时有问题吗?互联网上的一些解决方案说文件必须由试图访问文件的用户拥有,在我的例子中是 sysdba。但是我无法将文件的所有者更改为 sysdba,因为该用户在我的 Ubuntu 上不存在。

此外,我们指定了 dumfile 和 logfile,但我们没有指定位置。它将在哪里为这些创建位置?我以为它会在这里寻找它们: /u01/app/oracle/oradata/orcl$ orcl 是我的 SID

在 Google 和 Oracle Doc 的帮助下,我无法解决我的问题。

我在 Ubuntu 上运行。

最佳答案

Oracle 目录对象应该指向一个操作系统目录,而不是一个文件;代替:

create or replace directory dir as '/home/oracle12c/Desktop/latest_exp.dmp'

它应该是:
create or replace directory dir as '/home/oracle12c/Desktop'

转储文件应该位于该目录中,默认情况下,日志和坏文件也将在那里创建。

目前您要求它在目录 /home/oracle12c/Desktop/latest_exp.dmp 下创建日志文件,即 /home/oracle12c/Desktop/latest_exp.dmp/import.log - 这显然不是有效的完整路径;并查找文件 importDump.dmp在那个非目录下。

无论如何,您的命令行看起来好像有错误的名称:
impdp ... directory=dir dumpfile=latest_exp.dmp logfile=import.log

关于oracle - 导入 Oracle 备份时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42373919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com