来自 19c 的 Oracle XE 18c impdp 转储

Posted

技术标签:

【中文标题】来自 19c 的 Oracle XE 18c impdp 转储【英文标题】:Oracle XE 18c impdp dump from 19c 【发布时间】: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 设置的,用户也有权使用这个目录。

我迷路了。

编辑:我使用 *** 已经很多年了,这是我的第一个问题,因为我是一般的 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,这是最新的。 【参考方案1】:

也许您的转储文件太大。 Oracle XE 有一些限制。

请参阅 Oracle 文档: https://www.oracle.com/database/technologies/appdev/xe.html

资源:

高达 12 GB 的用户数据 高达 2 GB 的数据库 RAM 最多 2 个 CPU 线程 最多 3 个可插拔数据库

【讨论】:

嗯,这是一种可能性。非常感谢。我会尝试使用较小的转储。

以上是关于来自 19c 的 Oracle XE 18c impdp 转储的主要内容,如果未能解决你的问题,请参考以下文章

Migrating Oracle 18c To 19c

Oracle数据库18c升级到19c

Oracle 12c 多租户家族(12c 18c 19c)如何在 PDB 中添加 HR 模式

Oracle数据库安装配置详细教程汇总(含11g12c18c19c21c)

Oracle 19c: RAC 集群技术的坚持与放弃(含PPT下载)

ORACLE 18c XE (18.0.0.0.0) - MAX_STRING_SIZE = EXTENDED (COLLATE BINARY_CI) 问题