我试图用Oracle Datapump导出一个表,在Oracle 12C实例上运行。该模式有一个名为KAT的表。
当我使用:
导出时expdp USER/PASS directory=exp dumpfile=dump.dmp logfile=kat.log TABLES=KAT
一切正常
当我尝试做以下(能够在Oracle 10g数据库中导入数据),我得到以下错误:
expdp USER/PASS directory=exp dumpfile=dump.dmp logfile=kat.log TABLES=KAT VERSION=10.2
ORA-39166: Object USER.KAT was not found.
ORA-31655: no data or metadata objects selected for job
为什么?什么好主意吗?
最有可能的问题是您的表使用了12c中存在但10.2中没有的功能。我在试图从12c数据库导出一个带有虚拟列(在11.1中引入)的表时,得到了完全相同的错误消息:
- No
VERSION
(即COMPATIBLE
): works -
VERSION=11.2
或11.1
: works -
VERSION=10.2
:ORA-39166
error.
可以是表本身的一个特性,也可以是表的一个索引(或约束)。查看表的DDL