将 dmp 文件导入 Oracle

问题描述

我的客户提供了一个 dmp 文件 (10 GO),我尝试了以下操作: 创建用户: 创建由 PASSWORD 标识的用户 USERNAME; 授予读写权限

导入转储文件(使用imp和impdp) impdp 或 imp system/password@db dumpfile=EXPDAT.DMP FULL=Y logfile=dice.log

这是错误信息: 导入:发布 18.0.0.0.0 - 2021 年 2 月 23 日星期二 11:46:07 生产 版本 18.4.0.0.0

版权 (c) 1982、2019,Oracle 和/或其附属公司。保留所有权利。

连接到:Oracle Database 18c Express Edition 18.0.0.0.0 版 - 生产 ORA-39002: 无效操作 ORA-39059: 转储文件集不完整 ORA-39246: 在提供的转储文件中找不到主表

有人可以帮忙吗?

解决方法

首先,imp和impdp不可互换;它们有不同的文件格式和选项。您需要确切知道用​​于创建您拥有的文件的内容。

其次,假设文件是​​用 expdp(又名 datapump,更现代的选择)创建的,并且您应该使用 impdp 来加载它,错误表明数据文件本身存在问题。

ORA-39246 无法在提供的转储文件中定位主表

原因:检查导出日志文件并确保所有文件 导出的内容包含在当前作业中。

操作:正在执行数据泵 IMPORT 或 SQL_FILE 操作 但并非数据泵导出转储文件集中的所有文件都是 包括。特别是,包含导出作业的转储文件 未提供主表。

您的客户似乎没有向您提供完整的数据转储,您应该收到其他文件。如果在导出期间使用了“并行”或“文件大小”选项,则这是可能的。与他们确认您应该拥有的文件的数量和大小。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...