database - 从 Oracle 转储文件重新导入特定表

标签 database oracle import

我在 linux ssh 中使用以下命令将完整的 oracle 转储文件导入到我的数据库模式中。

    impdp system/password directory=bckup schemas=sch101 dumpfile=sc101.dmp    remap_schema=sch101:MY_SCHEMA TABLE_EXISTS_ACTION=APPEND;

此命令将必须的表导入到我的目标模式中,但由于某些约束错误而跳过了一些表。 我想在一个一个解决问题后尝试将这些表导入我的数据库。我使用了以下命令,

    impdp system/password DIRECTORY=bckup TABLES=TBL_NAME DUMPFILE=sch101.dmp remap_schema=sch101:MY_SCHEMA TABLE_EXISTS_ACTION=APPEND;

但是这个命令返回错误:

    ORA-39002: invalid operation
    ORA-39166: Object SYSTEM.TBL_NAME was not found.

我在我使用的转储文件的导出日志文件中检查了我尝试导入的表的名称,它们存在于转储文件中。 我在这里做的那个愚蠢的错误是什么?

最佳答案

因为您正在从可能是完整(而非模式)导出的内容中导入为 system,所以您需要在 tables parameter 中指定模式名称,尽管存在 schema 参数:

... TABLES=sch101.TBL_NAME ...

您收到的错误消息指的是 SYSTEM.TBL_NAME,这显然(或者希望无论如何)不是您想要的。

关于database - 从 Oracle 转储文件重新导入特定表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21230978/

相关文章:

node.js - MongoDB - 找到一个并添加一个新属性

ruby-on-rails - 数据库导入后将迁移标记为已迁移

database - 什么是物化 View ?

oracle - 调用过程时的 PL/SQL 事务

oracle - 验证日期格式oracle

javascript - ES6动态导入功能如何设置当前目录

python - 将python作为脚本运行时导入失败,但在iPython中没有?

java - 如何用Java设计2/3层分布式应用程序?

java - 如何在 Grails 3.3.11 中访问 src/main/java 中的 Domain 类?

php - 将查询从 Android 发送到远程服务器数据库的正确方法