问题描述
我有一个使用 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 的新手,正如我上面所说:我迷路了。
第二次编辑: 即使在我尝试使用 tables=
之类的参数部分导入转储后,它仍然是相同的错误解决方法
也许你的转储文件太大了。 Oracle XE 有一些限制。
请参阅 Oracle 文档: https://www.oracle.com/database/technologies/appdev/xe.html
资源:
- 最多 12 GB 的用户数据
- 高达 2 GB 的数据库 RAM
- 最多 2 个 CPU 线程
- 最多 3 个可插入数据库