【发布时间】:2021-04-12 06:45:14
【问题描述】:
我有一个使用 Oracle 19c 中的 expdp 创建的转储文件(使用版本参数 18 导出)。甚至可以将转储文件导入 Oracle 18c XE 数据库吗? 我不知道 19c 数据库的结构和其他所有内容。我刚刚得到了 13gb 的转储文件。
在使用 impdp 时,它说:
Connected to: Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
ORA-39002: invalid operation
就是这样。
在 /opt/oracle/diag/rdbms/xe/XE/trace/alert_XE.log 它说:
XEPDB1(3):DW00 started with pid=62, OS id=23288, wid=1, job SYSTEM.SYS_IMPORT_FULL_01
2020-12-09T15:25:55.364764+00:00
XEPDB1(3):Resize operation completed for file# 9, old size 266240K, new size 276480K
还有其他我不知道的日志文件吗?
不管怎样,我的命令是这样的:
impdp user/password@localhost/xepdb1 DIRECTORY=import_dir DUMPFILE=dump.expdp nologfile=y version=18 full=y
是的,用户有权这样做。 是的,import_dir 是用 CREATE DIRECTORY 设置的,用户也有权使用这个目录。
我迷路了。
编辑:我使用 stackoverflow 已经很多年了,这是我的第一个问题,因为我是一般的 oracle 新手,正如我上面所说的:我迷路了。
第二次编辑: 即使我尝试使用表等参数部分导入转储,它仍然是相同的错误=
【问题讨论】:
-
那么你检查过Oracle目录
import_dir指向的文件系统目录的操作系统权限了吗? -
唯一提到此错误而没有任何进一步信息的似乎与不匹配的时区版本有关。请针对两个 DB 检查
Select name,value$ from props$ where name='DST_PRIMARY_TT_VERSION';,您的 18XE 至少需要与 19c DB 一样新的版本。您还应该检查日志目录中的任何日志文件(默认为导入目录) -
有更多用于数据泵的日志 - 对于您在数据库中的用户,应该有一个调度程序作业已启动以执行您的导入,并且附加了日志
-
@MarkStewart 权限已经设置为 oracle,所以 y
-
@AndrewSayer 我已经这样做了! 18c XE 和 19c 的版本都是 31,这是最新的。
标签: oracle oracle19c oracle18c impdp expdp