带有 FULL=y 选项的 ORACLE DB exp 无法导出所有用户表,但 expdp 可以

Posted

技术标签:

【中文标题】带有 FULL=y 选项的 ORACLE DB exp 无法导出所有用户表,但 expdp 可以【英文标题】:ORACLE DB exp with FULL=y option cannot export all user tables but expdp can 【发布时间】:2021-03-05 06:19:17 【问题描述】:

我正在尝试使用 exp 工具来备份整个数据库。

命令是“exp userid=system/manager@test inctype=complete buffer=65535 file=/home/oracle/backup/exp_full.dmp log=/home/oracle/backup/exp_full.log full=y”。

但是从exp日志看,只能导出部分用户表,不能全部导出,虽然不能导出的表确实有内容。只有这些用户可以从日志中导出,如下所示:

。即将通过常规路径导出 SYSTEM 的表...

。即将通过常规路径导出 OUTLN 的表...

。即将通过常规路径导出 ORDDATA 的表...

。即将通过常规路径导出 OLAPSYS 的表...

等等

但是当我尝试使用带有命令expdp system/manager dumpfile=expdp_full.dmp logfile=expdp_full.log full=y的expdp时,它可以成功导出所有用户表。

ORACLE DB 版本为 11.2.0.1.0。 感谢您的帮助。

【问题讨论】:

为什么不使用 RMAN 进行备份? 【参考方案1】:

您需要指定要导出的架构,通过 expdp user/password schema=abc dumpfile=abc.dmp logfile=abc.log directory=abcdirectory

【讨论】:

【参考方案2】:

Oracle Database Online Documentation Library, 11g Release 2 (11.2)

从 Oracle 数据库开始,不支持将原始导出用于一般用途 11克。 Oracle 数据库 11g 中唯一支持使用原始导出 是将 XMLType 数据向后迁移到 Oracle Database 10g 第 2 版 (10.2) 或更早。因此,Oracle 建议您使用新的 数据泵导出和导入实用程序,以下除外 需要原始导出和导入的情况:您想要 导入使用原始导出实用程序创建的文件 (exp)。

您要导出将使用原始文件导入的文件 导入实用程序 (imp)。这方面的一个例子是,如果你想 从 Oracle 数据库 10g 中导出数据,然后将其导入到 较早的数据库版本。

【讨论】:

以上是关于带有 FULL=y 选项的 ORACLE DB exp 无法导出所有用户表,但 expdp 可以的主要内容,如果未能解决你的问题,请参考以下文章

Oracle exp/imp数据导入导出工具基本用法

Oracle 导入导出表

请问oracle中exp命令row=y和full=y,ignore=y分别是啥意思啊

运维必备:Oracle自备份精简教程(linux及win)

oracle 中导出数据时 exp system/123@orcl file=d:\aa.dmp full=y

将 DB2 查询转换为 oracle 查询