我在 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/